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/arm | |
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/arm')
-rw-r--r-- | arch/arm/kernel/signal.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/arch/arm/kernel/signal.c b/arch/arm/kernel/signal.c index 7f9abd75fc2e..c126eba8411d 100644 --- a/arch/arm/kernel/signal.c +++ b/arch/arm/kernel/signal.c | |||
@@ -22,8 +22,6 @@ | |||
22 | 22 | ||
23 | #include "signal.h" | 23 | #include "signal.h" |
24 | 24 | ||
25 | #define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP))) | ||
26 | |||
27 | /* | 25 | /* |
28 | * For ARM syscalls, we encode the syscall number into the instruction. | 26 | * For ARM syscalls, we encode the syscall number into the instruction. |
29 | */ | 27 | */ |
@@ -210,10 +208,8 @@ static int restore_sigframe(struct pt_regs *regs, struct sigframe __user *sf) | |||
210 | int err; | 208 | int err; |
211 | 209 | ||
212 | err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set)); | 210 | err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set)); |
213 | if (err == 0) { | 211 | if (err == 0) |
214 | sigdelsetmask(&set, ~_BLOCKABLE); | ||
215 | set_current_blocked(&set); | 212 | set_current_blocked(&set); |
216 | } | ||
217 | 213 | ||
218 | __get_user_error(regs->ARM_r0, &sf->uc.uc_mcontext.arm_r0, err); | 214 | __get_user_error(regs->ARM_r0, &sf->uc.uc_mcontext.arm_r0, err); |
219 | __get_user_error(regs->ARM_r1, &sf->uc.uc_mcontext.arm_r1, err); | 215 | __get_user_error(regs->ARM_r1, &sf->uc.uc_mcontext.arm_r1, err); |