diff options
Diffstat (limited to 'arch/x86/kernel/signal_64.c')
-rw-r--r-- | arch/x86/kernel/signal_64.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/x86/kernel/signal_64.c b/arch/x86/kernel/signal_64.c index 3b79e179ba3a..a21c85197295 100644 --- a/arch/x86/kernel/signal_64.c +++ b/arch/x86/kernel/signal_64.c | |||
@@ -210,7 +210,7 @@ static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
210 | (unsigned long)fp - sizeof(struct rt_sigframe), 16) - 8; | 210 | (unsigned long)fp - sizeof(struct rt_sigframe), 16) - 8; |
211 | 211 | ||
212 | if (save_i387_xstate(fp) < 0) | 212 | if (save_i387_xstate(fp) < 0) |
213 | err |= -1; | 213 | return -EFAULT; |
214 | } else | 214 | } else |
215 | frame = get_stack(ka, regs, sizeof(struct rt_sigframe)) - 8; | 215 | frame = get_stack(ka, regs, sizeof(struct rt_sigframe)) - 8; |
216 | 216 | ||
@@ -218,8 +218,7 @@ static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | |||
218 | return -EFAULT; | 218 | return -EFAULT; |
219 | 219 | ||
220 | if (ka->sa.sa_flags & SA_SIGINFO) { | 220 | if (ka->sa.sa_flags & SA_SIGINFO) { |
221 | err |= copy_siginfo_to_user(&frame->info, info); | 221 | if (copy_siginfo_to_user(&frame->info, info)) |
222 | if (err) | ||
223 | return -EFAULT; | 222 | return -EFAULT; |
224 | } | 223 | } |
225 | 224 | ||