[git pull] vfs.git part 2

From: Al Viro
Date: Wed Jul 05 2017 - 03:14:45 EST

Consolidating sys_wait* and compat counterparts. Gets rid of
set_fs()/double-copy mess, simplifies the whole thing (lifting the
copyouts to the syscalls means less headache in the part that does
actual work - fewer failure exits, to start with), gets rid of the
overhead of field-by-field __put_user().

The following changes since commit a8c39544a6eb2093c04afd5005b6192bd0e880c6:

osf_wait4(): fix infoleak (2017-05-21 13:10:07 -0400)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs.git work.sys_wait

for you to fetch changes up to 92ebce5ac55dba258c608248dddf59eca3f7f514:

osf_wait4: switch to kernel_wait4() (2017-05-21 13:16:26 -0400)

Al Viro (9):
move compat wait4 and waitid next to native variants
wait4(2)/waitid(2): separate copying rusage to userland
kernel_wait4()/kernel_waitid(): delay copying status to userland
waitid(2): leave copyout of siginfo to syscall itself
lift getrusage() from wait_noreap_copyout()
kill wait_noreap_copyout()
wait_task_zombie: consolidate info logics
waitid(): switch copyout of siginfo to unsafe_put_user()
osf_wait4: switch to kernel_wait4()

arch/alpha/kernel/osf_sys.c | 53 ++------
include/linux/resource.h | 2 +-
include/linux/sched/task.h | 2 +
kernel/compat.c | 66 ----------
kernel/exit.c | 307 +++++++++++++++++++++++---------------------
kernel/sys.c | 16 +--
6 files changed, 187 insertions(+), 259 deletions(-)