]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blame - releases/4.9.30/osf_wait4-fix-infoleak.patch
Linux 4.14.95
[thirdparty/kernel/stable-queue.git] / releases / 4.9.30 / osf_wait4-fix-infoleak.patch
CommitLineData
13dcf987
GKH
1From a8c39544a6eb2093c04afd5005b6192bd0e880c6 Mon Sep 17 00:00:00 2001
2From: Al Viro <viro@zeniv.linux.org.uk>
3Date: Sun, 14 May 2017 21:47:25 -0400
4Subject: osf_wait4(): fix infoleak
5
6From: Al Viro <viro@zeniv.linux.org.uk>
7
8commit a8c39544a6eb2093c04afd5005b6192bd0e880c6 upstream.
9
10failing sys_wait4() won't fill struct rusage...
11
12Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
13Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14
15---
16 arch/alpha/kernel/osf_sys.c | 6 ++++--
17 1 file changed, 4 insertions(+), 2 deletions(-)
18
19--- a/arch/alpha/kernel/osf_sys.c
20+++ b/arch/alpha/kernel/osf_sys.c
21@@ -1188,8 +1188,10 @@ SYSCALL_DEFINE4(osf_wait4, pid_t, pid, i
22 if (!access_ok(VERIFY_WRITE, ur, sizeof(*ur)))
23 return -EFAULT;
24
25- err = 0;
26- err |= put_user(status, ustatus);
27+ err = put_user(status, ustatus);
28+ if (ret < 0)
29+ return err ? err : ret;
30+
31 err |= __put_user(r.ru_utime.tv_sec, &ur->ru_utime.tv_sec);
32 err |= __put_user(r.ru_utime.tv_usec, &ur->ru_utime.tv_usec);
33 err |= __put_user(r.ru_stime.tv_sec, &ur->ru_stime.tv_sec);