diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-04-27 13:58:59 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-06-01 12:58:51 -0400 |
commit | 77097ae503b170120ab66dd1d547f8577193f91f (patch) | |
tree | bee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5 /arch/cris/arch-v10 | |
parent | edd63a2763bdae0daa4f0a4d4c5d61d1154352a5 (diff) |
most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set
Only 3 out of 63 do not. Renamed the current variant to __set_current_blocked(),
added set_current_blocked() that will exclude unblockable signals, switched
open-coded instances to it.
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'arch/cris/arch-v10')
-rw-r--r-- | arch/cris/arch-v10/kernel/signal.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/arch/cris/arch-v10/kernel/signal.c b/arch/cris/arch-v10/kernel/signal.c index 46c8ca605e4d..cf6380cb9a57 100644 --- a/arch/cris/arch-v10/kernel/signal.c +++ b/arch/cris/arch-v10/kernel/signal.c | |||
@@ -31,8 +31,6 @@ | |||
31 | 31 | ||
32 | #define DEBUG_SIG 0 | 32 | #define DEBUG_SIG 0 |
33 | 33 | ||
34 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||
35 | |||
36 | /* a syscall in Linux/CRIS is a break 13 instruction which is 2 bytes */ | 34 | /* a syscall in Linux/CRIS is a break 13 instruction which is 2 bytes */ |
37 | /* manipulate regs so that upon return, it will be re-executed */ | 35 | /* manipulate regs so that upon return, it will be re-executed */ |
38 | 36 | ||
@@ -176,7 +174,6 @@ asmlinkage int sys_sigreturn(long r10, long r11, long r12, long r13, long mof, | |||
176 | sizeof(frame->extramask)))) | 174 | sizeof(frame->extramask)))) |
177 | goto badframe; | 175 | goto badframe; |
178 | 176 | ||
179 | sigdelsetmask(&set, ~_BLOCKABLE); | ||
180 | set_current_blocked(&set); | 177 | set_current_blocked(&set); |
181 | 178 | ||
182 | if (restore_sigcontext(regs, &frame->sc)) | 179 | if (restore_sigcontext(regs, &frame->sc)) |
@@ -212,7 +209,6 @@ asmlinkage int sys_rt_sigreturn(long r10, long r11, long r12, long r13, | |||
212 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) | 209 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) |
213 | goto badframe; | 210 | goto badframe; |
214 | 211 | ||
215 | sigdelsetmask(&set, ~_BLOCKABLE); | ||
216 | set_current_blocked(&set); | 212 | set_current_blocked(&set); |
217 | 213 | ||
218 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 214 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |