Skip to content

Commit 24de583

Browse files
willdeaconctmarinas
authored andcommitted
arm64: signal32: Drop pointless call to sigdelsetmask()
Commit 77097ae ("most of set_current_blocked() callers want SIGKILL/SIGSTOP removed from set") extended set_current_blocked() to remove SIGKILL and SIGSTOP from the new signal set and updated all callers accordingly. Unfortunately, this collided with the merge of the arm64 architecture, which duly removes these signals when restoring the compat sigframe, as this was what was previously done by arch/arm/. Remove the redundant call to sigdelsetmask() from compat_restore_sigframe(). Reported-by: Al Viro <[email protected]> Signed-off-by: Will Deacon <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Catalin Marinas <[email protected]>
1 parent 7559b7d commit 24de583

File tree

1 file changed

+1
-5
lines changed

1 file changed

+1
-5
lines changed

arch/arm64/kernel/signal32.c

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,6 @@ struct compat_aux_sigframe {
4646
unsigned long end_magic;
4747
} __attribute__((__aligned__(8)));
4848

49-
#define _BLOCKABLE (~(sigmask(SIGKILL) | sigmask(SIGSTOP)))
50-
5149
static inline int put_sigset_t(compat_sigset_t __user *uset, sigset_t *set)
5250
{
5351
compat_sigset_t cset;
@@ -190,10 +188,8 @@ static int compat_restore_sigframe(struct pt_regs *regs,
190188
unsigned long psr;
191189

192190
err = get_sigset_t(&set, &sf->uc.uc_sigmask);
193-
if (err == 0) {
194-
sigdelsetmask(&set, ~_BLOCKABLE);
191+
if (err == 0)
195192
set_current_blocked(&set);
196-
}
197193

198194
__get_user_error(regs->regs[0], &sf->uc.uc_mcontext.arm_r0, err);
199195
__get_user_error(regs->regs[1], &sf->uc.uc_mcontext.arm_r1, err);

0 commit comments

Comments
 (0)