diff options
author | Oleg Nesterov <oleg@redhat.com> | 2013-01-05 19:13:13 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-01-05 19:34:54 -0800 |
commit | 5ba53ff648e785445a32ba39112ed07e4cf588d0 (patch) | |
tree | ce8657276d09d639a4c069b9d39f8459542c29f3 /kernel/signal.c | |
parent | 5f243b9b46a22e5790dbbc36f574c2417af49a41 (diff) | |
download | lwn-5ba53ff648e785445a32ba39112ed07e4cf588d0.tar.gz lwn-5ba53ff648e785445a32ba39112ed07e4cf588d0.zip |
signals: sys_ssetmask() uses uninitialized newmask
Commit 77097ae503b1 ("most of set_current_blocked() callers want
SIGKILL/SIGSTOP removed from set") removed the initialization of newmask
by accident, causing ltp to complain like this:
ssetmask01 1 TFAIL : sgetmask() failed: TEST_ERRNO=???(0): Success
Restore the proper initialization.
Reported-and-tested-by: CAI Qian <caiqian@redhat.com>
Signed-off-by: Oleg Nesterov <oleg@redhat.com>
Cc: stable@kernel.org # v3.5+
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 7aaa51d8e5b8..9692499c77cf 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -3286,6 +3286,7 @@ SYSCALL_DEFINE1(ssetmask, int, newmask) int old = current->blocked.sig[0]; sigset_t newset; + siginitset(&newset, newmask); set_current_blocked(&newset); return old; |