]> git.baikalelectronics.ru Git - kernel.git/commit
fix infoleak in waitid(2)
authorAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Sep 2017 17:43:15 +0000 (13:43 -0400)
committerAl Viro <viro@zeniv.linux.org.uk>
Fri, 29 Sep 2017 17:43:15 +0000 (13:43 -0400)
commit429ba5ad629d16a395871a1e4b01fb25bffc55cc
tree7ae62970c63295669f955f60b78dbada3e564d30
parenteb1aa2727109e2a3d9ea9acc10d9f4d6848918f1
fix infoleak in waitid(2)

kernel_waitid() can return a PID, an error or 0.  rusage is filled in the first
case and waitid(2) rusage should've been copied out exactly in that case, *not*
whenever kernel_waitid() has not returned an error.  Compat variant shares that
braino; none of kernel_wait4() callers do, so the below ought to fix it.

Reported-and-tested-by: Alexander Potapenko <glider@google.com>
Fixes: 0239b1122ca8 ("wait4(2)/waitid(2): separate copying rusage to userland")
Cc: stable@vger.kernel.org # v4.13
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
kernel/exit.c