do_wait: return security_task_wait() error code in place of -ECHILD
This reverts the effect of commit
bb9f29b7fb74fa27e82c049db075aab958914cc3
"do_wait: fix security checks". That change reverted the effect of commit
dd4fecda30deaf5d7211ba96ed6c35d18ab2c0d6. 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>