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-v32 | |
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-v32')
-rw-r--r-- | arch/cris/arch-v32/kernel/signal.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/arch/cris/arch-v32/kernel/signal.c b/arch/cris/arch-v32/kernel/signal.c index e0431328b7cd..07b81ee09f65 100644 --- a/arch/cris/arch-v32/kernel/signal.c +++ b/arch/cris/arch-v32/kernel/signal.c | |||
@@ -24,9 +24,6 @@ | |||
24 | 24 | ||
25 | extern unsigned long cris_signal_return_page; | 25 | extern unsigned long cris_signal_return_page; |
26 | 26 | ||
27 | /* Flag to check if a signal is blockable. */ | ||
28 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||
29 | |||
30 | /* | 27 | /* |
31 | * A syscall in CRIS is really a "break 13" instruction, which is 2 | 28 | * A syscall in CRIS is really a "break 13" instruction, which is 2 |
32 | * bytes. The registers is manipulated so upon return the instruction | 29 | * bytes. The registers is manipulated so upon return the instruction |
@@ -167,7 +164,6 @@ sys_sigreturn(long r10, long r11, long r12, long r13, long mof, long srp, | |||
167 | sizeof(frame->extramask)))) | 164 | sizeof(frame->extramask)))) |
168 | goto badframe; | 165 | goto badframe; |
169 | 166 | ||
170 | sigdelsetmask(&set, ~_BLOCKABLE); | ||
171 | set_current_blocked(&set); | 167 | set_current_blocked(&set); |
172 | 168 | ||
173 | if (restore_sigcontext(regs, &frame->sc)) | 169 | if (restore_sigcontext(regs, &frame->sc)) |
@@ -208,7 +204,6 @@ sys_rt_sigreturn(long r10, long r11, long r12, long r13, long mof, long srp, | |||
208 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) | 204 | if (__copy_from_user(&set, &frame->uc.uc_sigmask, sizeof(set))) |
209 | goto badframe; | 205 | goto badframe; |
210 | 206 | ||
211 | sigdelsetmask(&set, ~_BLOCKABLE); | ||
212 | set_current_blocked(&set); | 207 | set_current_blocked(&set); |
213 | 208 | ||
214 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) | 209 | if (restore_sigcontext(regs, &frame->uc.uc_mcontext)) |