do_wait: return security_task_wait() error code in place of -ECHILD
authorRoland McGrath <roland@redhat.com>
Mon, 31 Mar 2008 01:41:25 +0000 (18:41 -0700)
committerRoland McGrath <roland@redhat.com>
Thu, 17 Jul 2008 01:02:34 +0000 (18:02 -0700)
commit14dd0b81414a58caf0296dbeace016bb0a5d11ab
treecbb81c1f73b13c41645ff01019d303e48a5ca7af
parentf470021adb9190819c03d6d8c5c860a17480aa6d
do_wait: return security_task_wait() error code in place of -ECHILD

This reverts the effect of commit f2cc3eb133baa2e9dc8efd40f417106b2ee520f3
"do_wait: fix security checks".  That change reverted the effect of commit
73243284463a761e04d69d22c7516b2be7de096c.  The rationale for the original
commit still stands.  The inconsistent treatment of children hidden by
ptrace was an unintended omission in the original change and in no way
invalidates its purpose.

This makes do_wait return the error returned by security_task_wait()
(usually -EACCES) in place of -ECHILD when there are some children the
caller would be able to wait for if not for the permission failure.  A
permission error will give the user a clue to look for security policy
problems, rather than for mysterious wait bugs.

Signed-off-by: Roland McGrath <roland@redhat.com>
kernel/exit.c