diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-10-14 20:42:44 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-10-14 20:42:44 -0400 |
commit | 2692a71bbd40160165e89d5505c5c28144ec5a42 (patch) | |
tree | acaaf0f1a4942486109094acad37c29456aeda98 /arch/arc | |
parent | 7041c57709efdc1e31aaff663cfe17f0b21f4743 (diff) | |
parent | b065444286bed7ec49ee81c593a46f3031fbfc83 (diff) |
Merge branch 'work.uaccess' into for-linus
Diffstat (limited to 'arch/arc')
-rw-r--r-- | arch/arc/kernel/signal.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/arc/kernel/signal.c b/arch/arc/kernel/signal.c index 6cb3736b6b83..d347bbc086fe 100644 --- a/arch/arc/kernel/signal.c +++ b/arch/arc/kernel/signal.c | |||
@@ -107,13 +107,13 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf) | |||
107 | struct user_regs_struct uregs; | 107 | struct user_regs_struct uregs; |
108 | 108 | ||
109 | err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set)); | 109 | err = __copy_from_user(&set, &sf->uc.uc_sigmask, sizeof(set)); |
110 | if (!err) | ||
111 | set_current_blocked(&set); | ||
112 | |||
113 | err |= __copy_from_user(&uregs.scratch, | 110 | err |= __copy_from_user(&uregs.scratch, |
114 | &(sf->uc.uc_mcontext.regs.scratch), | 111 | &(sf->uc.uc_mcontext.regs.scratch), |
115 | sizeof(sf->uc.uc_mcontext.regs.scratch)); | 112 | sizeof(sf->uc.uc_mcontext.regs.scratch)); |
113 | if (err) | ||
114 | return err; | ||
116 | 115 | ||
116 | set_current_blocked(&set); | ||
117 | regs->bta = uregs.scratch.bta; | 117 | regs->bta = uregs.scratch.bta; |
118 | regs->lp_start = uregs.scratch.lp_start; | 118 | regs->lp_start = uregs.scratch.lp_start; |
119 | regs->lp_end = uregs.scratch.lp_end; | 119 | regs->lp_end = uregs.scratch.lp_end; |
@@ -138,7 +138,7 @@ static int restore_usr_regs(struct pt_regs *regs, struct rt_sigframe __user *sf) | |||
138 | regs->r0 = uregs.scratch.r0; | 138 | regs->r0 = uregs.scratch.r0; |
139 | regs->sp = uregs.scratch.sp; | 139 | regs->sp = uregs.scratch.sp; |
140 | 140 | ||
141 | return err; | 141 | return 0; |
142 | } | 142 | } |
143 | 143 | ||
144 | static inline int is_do_ss_needed(unsigned int magic) | 144 | static inline int is_do_ss_needed(unsigned int magic) |