aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorAl Viro <viro@zeniv.linux.org.uk>2012-04-27 13:58:59 -0400
committerAl Viro <viro@zeniv.linux.org.uk>2012-06-01 12:58:51 -0400
commit77097ae503b170120ab66dd1d547f8577193f91f (patch)
treebee5b2e8d91b9ec8ab74c58cbec1796c7bacc2e5 /arch/mips
parentedd63a2763bdae0daa4f0a4d4c5d61d1154352a5 (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/mips')
-rw-r--r--arch/mips/kernel/signal-common.h2
-rw-r--r--arch/mips/kernel/signal.c2
-rw-r--r--arch/mips/kernel/signal32.c2
-rw-r--r--arch/mips/kernel/signal_n32.c1
4 files changed, 0 insertions, 7 deletions
diff --git a/arch/mips/kernel/signal-common.h b/arch/mips/kernel/signal-common.h
index 10263b405981..9c60d09e62a7 100644
--- a/arch/mips/kernel/signal-common.h
+++ b/arch/mips/kernel/signal-common.h
@@ -19,8 +19,6 @@
19# define DEBUGP(fmt, args...) 19# define DEBUGP(fmt, args...)
20#endif 20#endif
21 21
22#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
23
24/* 22/*
25 * Determine which stack to use.. 23 * Determine which stack to use..
26 */ 24 */
diff --git a/arch/mips/kernel/signal.c b/arch/mips/kernel/signal.c
index 896165757e6f..02e0cba24f82 100644
--- a/arch/mips/kernel/signal.c
+++ b/arch/mips/kernel/signal.c
@@ -339,7 +339,6 @@ asmlinkage void sys_sigreturn(nabi_no_regargs struct pt_regs regs)
339 if (__copy_from_user(&blocked, &frame->sf_mask, sizeof(blocked))) 339 if (__copy_from_user(&blocked, &frame->sf_mask, sizeof(blocked)))
340 goto badframe; 340 goto badframe;
341 341
342 sigdelsetmask(&blocked, ~_BLOCKABLE);
343 set_current_blocked(&blocked); 342 set_current_blocked(&blocked);
344 343
345 sig = restore_sigcontext(&regs, &frame->sf_sc); 344 sig = restore_sigcontext(&regs, &frame->sf_sc);
@@ -375,7 +374,6 @@ asmlinkage void sys_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
375 if (__copy_from_user(&set, &frame->rs_uc.uc_sigmask, sizeof(set))) 374 if (__copy_from_user(&set, &frame->rs_uc.uc_sigmask, sizeof(set)))
376 goto badframe; 375 goto badframe;
377 376
378 sigdelsetmask(&set, ~_BLOCKABLE);
379 set_current_blocked(&set); 377 set_current_blocked(&set);
380 378
381 sig = restore_sigcontext(&regs, &frame->rs_uc.uc_mcontext); 379 sig = restore_sigcontext(&regs, &frame->rs_uc.uc_mcontext);
diff --git a/arch/mips/kernel/signal32.c b/arch/mips/kernel/signal32.c
index b4fe2eacbd5d..da1b56a39ac7 100644
--- a/arch/mips/kernel/signal32.c
+++ b/arch/mips/kernel/signal32.c
@@ -465,7 +465,6 @@ asmlinkage void sys32_sigreturn(nabi_no_regargs struct pt_regs regs)
465 if (__copy_conv_sigset_from_user(&blocked, &frame->sf_mask)) 465 if (__copy_conv_sigset_from_user(&blocked, &frame->sf_mask))
466 goto badframe; 466 goto badframe;
467 467
468 sigdelsetmask(&blocked, ~_BLOCKABLE);
469 set_current_blocked(&blocked); 468 set_current_blocked(&blocked);
470 469
471 sig = restore_sigcontext32(&regs, &frame->sf_sc); 470 sig = restore_sigcontext32(&regs, &frame->sf_sc);
@@ -503,7 +502,6 @@ asmlinkage void sys32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
503 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask)) 502 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask))
504 goto badframe; 503 goto badframe;
505 504
506 sigdelsetmask(&set, ~_BLOCKABLE);
507 set_current_blocked(&set); 505 set_current_blocked(&set);
508 506
509 sig = restore_sigcontext32(&regs, &frame->rs_uc.uc_mcontext); 507 sig = restore_sigcontext32(&regs, &frame->rs_uc.uc_mcontext);
diff --git a/arch/mips/kernel/signal_n32.c b/arch/mips/kernel/signal_n32.c
index 63ffac9af7c5..3574c145511b 100644
--- a/arch/mips/kernel/signal_n32.c
+++ b/arch/mips/kernel/signal_n32.c
@@ -109,7 +109,6 @@ asmlinkage void sysn32_rt_sigreturn(nabi_no_regargs struct pt_regs regs)
109 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask)) 109 if (__copy_conv_sigset_from_user(&set, &frame->rs_uc.uc_sigmask))
110 goto badframe; 110 goto badframe;
111 111
112 sigdelsetmask(&set, ~_BLOCKABLE);
113 set_current_blocked(&set); 112 set_current_blocked(&set);
114 113
115 sig = restore_sigcontext(&regs, &frame->rs_uc.uc_mcontext); 114 sig = restore_sigcontext(&regs, &frame->rs_uc.uc_mcontext);