Re: [PATCH] sys_waitid: return -EFAULT for NULL

Andrew Morton
2009-01-13T23:24:57Z

On Wed, 14 Jan 2009 12:14:20 +1300
"Michael Kerrisk" <mtk.manpages-gM/Ye1E23mwN+BqQ9rBEUg@public.gmane.org> wrote:

> On Wed, Jan 14, 2009 at 11:49 AM, Roland McGrath <roland-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> wrote:
> > It's always been invalid to call waitid() with a NULL pointer. It was an
> > oversight that it was allowed (and acts like a wait4() call instead).
> >
> > Signed-off-by: Roland McGrath <roland-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
>
> Modulo the observation that this change will break any Linux-specific
> application that violate POSIX.1's requirement that infop not be NULL
> (*), and rely on the existing Linux behavior for
> waitd(idtype,id,NULL,options):
>

Well yes. waitid() has been in there since 2.6.9. I assume that it
has had this wait4-emulation mode for that amount of time as well?

>
> (*) It seems unlikely that such applications exist, and we really
> should make this change for POSIX.1 conformance.

Well, we might get away with it. But formally speaking, we should live
with our Linux-specific screwup.

If we _are_ going to make this change then we should merge it as far
back in -stable as we can, to reduce the risk that people will develop
applications on kernel version A only to have then behave differently
on version B.