powerpc: get rid of restore_sigmask()
... it's just a call of set_current_blocked() now Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
77097ae503
commit
17440f171e
@ -51,15 +51,6 @@ void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
|
|||||||
return (void __user *)newsp;
|
return (void __user *)newsp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Restore the user process's signal mask
|
|
||||||
*/
|
|
||||||
void restore_sigmask(sigset_t *set)
|
|
||||||
{
|
|
||||||
set_current_blocked(set);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
|
static void check_syscall_restart(struct pt_regs *regs, struct k_sigaction *ka,
|
||||||
int has_handler)
|
int has_handler)
|
||||||
{
|
{
|
||||||
|
@ -14,7 +14,6 @@ extern void do_notify_resume(struct pt_regs *regs, unsigned long thread_info_fla
|
|||||||
|
|
||||||
extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
|
extern void __user * get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
|
||||||
size_t frame_size, int is_32);
|
size_t frame_size, int is_32);
|
||||||
extern void restore_sigmask(sigset_t *set);
|
|
||||||
|
|
||||||
extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
|
extern int handle_signal32(unsigned long sig, struct k_sigaction *ka,
|
||||||
siginfo_t *info, sigset_t *oldset,
|
siginfo_t *info, sigset_t *oldset,
|
||||||
|
@ -919,7 +919,7 @@ static int do_setcontext(struct ucontext __user *ucp, struct pt_regs *regs, int
|
|||||||
if (!access_ok(VERIFY_READ, mcp, sizeof(*mcp)))
|
if (!access_ok(VERIFY_READ, mcp, sizeof(*mcp)))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
#endif
|
#endif
|
||||||
restore_sigmask(&set);
|
set_current_blocked(&set);
|
||||||
if (restore_user_regs(regs, mcp, sig))
|
if (restore_user_regs(regs, mcp, sig))
|
||||||
return -EFAULT;
|
return -EFAULT;
|
||||||
|
|
||||||
@ -1273,7 +1273,7 @@ long sys_sigreturn(int r3, int r4, int r5, int r6, int r7, int r8,
|
|||||||
set.sig[0] = sigctx.oldmask;
|
set.sig[0] = sigctx.oldmask;
|
||||||
set.sig[1] = sigctx._unused[3];
|
set.sig[1] = sigctx._unused[3];
|
||||||
#endif
|
#endif
|
||||||
restore_sigmask(&set);
|
set_current_blocked(&set);
|
||||||
|
|
||||||
sr = (struct mcontext __user *)from_user_ptr(sigctx.regs);
|
sr = (struct mcontext __user *)from_user_ptr(sigctx.regs);
|
||||||
addr = sr;
|
addr = sr;
|
||||||
|
@ -335,7 +335,7 @@ int sys_swapcontext(struct ucontext __user *old_ctx,
|
|||||||
|
|
||||||
if (__copy_from_user(&set, &new_ctx->uc_sigmask, sizeof(set)))
|
if (__copy_from_user(&set, &new_ctx->uc_sigmask, sizeof(set)))
|
||||||
do_exit(SIGSEGV);
|
do_exit(SIGSEGV);
|
||||||
restore_sigmask(&set);
|
set_current_blocked(&set);
|
||||||
if (restore_sigcontext(regs, NULL, 0, &new_ctx->uc_mcontext))
|
if (restore_sigcontext(regs, NULL, 0, &new_ctx->uc_mcontext))
|
||||||
do_exit(SIGSEGV);
|
do_exit(SIGSEGV);
|
||||||
|
|
||||||
@ -364,7 +364,7 @@ int sys_rt_sigreturn(unsigned long r3, unsigned long r4, unsigned long r5,
|
|||||||
|
|
||||||
if (__copy_from_user(&set, &uc->uc_sigmask, sizeof(set)))
|
if (__copy_from_user(&set, &uc->uc_sigmask, sizeof(set)))
|
||||||
goto badframe;
|
goto badframe;
|
||||||
restore_sigmask(&set);
|
set_current_blocked(&set);
|
||||||
if (restore_sigcontext(regs, NULL, 1, &uc->uc_mcontext))
|
if (restore_sigcontext(regs, NULL, 1, &uc->uc_mcontext))
|
||||||
goto badframe;
|
goto badframe;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user