summaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/signal.c
diff options
context:
space:
mode:
authorMark Brown <broonie@linaro.org>2014-01-14 14:14:47 +0000
committerMark Brown <broonie@linaro.org>2014-01-14 14:14:47 +0000
commit13ea3300100ec3461560b1e061033cd167333a86 (patch)
treec60a016a06c488adada6959516e2a2de96d6d7d3 /arch/s390/kernel/signal.c
parentb7ed6b88b2a5e961eeb939ef637a3cbb435a23a7 (diff)
parent68e67d97e1f91ed11e041b67f3a1336f518c608f (diff)
Merge branch 'topic/rcar' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi into spi-rspi
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 fb535874a24..d8fd508ccd1 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)