summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/signal.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2013-12-16 15:53:52 +0100
committerTakashi Iwai <tiwai@suse.de>2013-12-16 15:53:52 +0100
commitd09476018bee39495d6ece7a2e069de29a9c0ed5 (patch)
tree866fff4323f94681e6b423f269f0549df0a34066 /arch/s390/kernel/signal.c
parent337bb336b95bd7884fa3a194eafbdf52a0216b2e (diff)
parentafdcd431cebe3498db9aa963c780fdd5099917ec (diff)
downloadlinux-d09476018bee39495d6ece7a2e069de29a9c0ed5.tar.bz2
Merge branch 'for-linus' into for-next
Diffstat (limited to 'arch/s390/kernel/signal.c')
-rw-r--r--arch/s390/kernel/signal.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/signal.c b/arch/s390/kernel/signal.c
index fb535874a246..d8fd508ccd1e 100644
--- a/arch/s390/kernel/signal.c
+++ b/arch/s390/kernel/signal.c
@@ -94,7 +94,7 @@ static int restore_sigregs(struct pt_regs *regs, _sigregs __user *sregs)
return -EINVAL;
/* Use regs->psw.mask instead of PSW_USER_BITS to preserve PER bit. */
- regs->psw.mask = (regs->psw.mask & ~PSW_MASK_USER) |
+ regs->psw.mask = (regs->psw.mask & ~(PSW_MASK_USER | PSW_MASK_RI)) |
(user_sregs.regs.psw.mask & (PSW_MASK_USER | PSW_MASK_RI));
/* Check for invalid user address space control. */
if ((regs->psw.mask & PSW_MASK_ASC) == PSW_ASC_HOME)