| From 5ba53ff648e785445a32ba39112ed07e4cf588d0 Mon Sep 17 00:00:00 2001 |
| From: Oleg Nesterov <oleg@redhat.com> |
| Date: Sat, 5 Jan 2013 19:13:13 +0100 |
| Subject: signals: sys_ssetmask() uses uninitialized newmask |
| |
| From: Oleg Nesterov <oleg@redhat.com> |
| |
| commit 5ba53ff648e785445a32ba39112ed07e4cf588d0 upstream. |
| |
| 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> |
| Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/signal.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/kernel/signal.c |
| +++ b/kernel/signal.c |
| @@ -3221,6 +3221,7 @@ SYSCALL_DEFINE1(ssetmask, int, newmask) |
| int old = current->blocked.sig[0]; |
| sigset_t newset; |
| |
| + siginitset(&newset, newmask); |
| set_current_blocked(&newset); |
| |
| return old; |