Re: [PATCH] waitid system call

From: Andrew Morton
Date: Tue Aug 31 2004 - 01:44:37 EST


Jakub Jelinek <jakub@xxxxxxxxxx> wrote:
>
> On Mon, Aug 30, 2004 at 11:04:46PM -0700, Roland McGrath wrote:
> > + /*
> > + * For a WNOHANG return, clear out all the fields
> > + * we would set so the user can easily tell the
> > + * difference.
> > + */
> > + if (!retval)
> > + retval = put_user(0, &infop->si_signo);
> > + if (!retval)
> > + retval = put_user(0, &infop->si_errno);
> > + if (!retval)
> > + retval = put_user(0, &infop->si_code);
> > + if (!retval)
> > + retval = put_user(0, &infop->si_pid);
> > + if (!retval)
> > + retval = put_user(0, &infop->si_uid);
> > + if (!retval)
> > + retval = put_user(0, &infop->si_status);
>
> Is it really necessary to check the exit code after each put_user?
> if (!retval && access_ok(VERIFY_WRITE, infop, sizeof(*infop)))) {
> retval = __put_user(0, &infop->si_signo);
> retval |= __put_user(0, &infop->si_errno);
> retval |= __put_user(0, &infop->si_code);
> retval |= __put_user(0, &infop->si_pid);
> retval |= __put_user(0, &infop->si_uid);
> retval |= __put_user(0, &infop->si_status);
> }
> is what kernel usually does when filling multiple structure members.

I don't think it matters much. Taking seven trips into the fault handler
where one would do seems a bit dumb though.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/