Merge branch 'work.sys_wait' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Jul 2017 21:10:19 +0000 (14:10 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 5 Jul 2017 21:10:19 +0000 (14:10 -0700)
Pull wait syscall updates from Al Viro:
 "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()"

* 'work.sys_wait' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
  osf_wait4: switch to kernel_wait4()
  waitid(): switch copyout of siginfo to unsafe_put_user()
  wait_task_zombie: consolidate info logics
  kill wait_noreap_copyout()
  lift getrusage() from wait_noreap_copyout()
  waitid(2): leave copyout of siginfo to syscall itself
  kernel_wait4()/kernel_waitid(): delay copying status to userland
  wait4(2)/waitid(2): separate copying rusage to userland
  move compat wait4 and waitid next to native variants

1  2 
include/linux/sched/task.h
kernel/compat.c
kernel/exit.c

Simple merge
diff --cc kernel/compat.c
Simple merge
diff --cc kernel/exit.c
index c63226283aef8b541c081a6c978e55b355f48ab2,462fc25eec6e7ffe9b4bc33f80134c238b023fdb..b0cc86a2d00babd7d4c97de66b174b983c476bde
@@@ -987,11 -1008,11 +995,11 @@@ struct wait_opts 
        int                     wo_flags;
        struct pid              *wo_pid;
  
-       struct siginfo __user   *wo_info;
-       int __user              *wo_stat;
-       struct rusage __user    *wo_rusage;
+       struct waitid_info      *wo_info;
+       int                     wo_stat;
+       struct rusage           *wo_rusage;
  
 -      wait_queue_t            child_wait;
 +      wait_queue_entry_t              child_wait;
        int                     notask_error;
  };