diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/kernel/signal.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/signal.c b/arch/x86/kernel/signal.c index 82d37c77b0fb..89ef90df985f 100644 --- a/arch/x86/kernel/signal.c +++ b/arch/x86/kernel/signal.c | |||
@@ -409,15 +409,13 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, size_t frame_size, | |||
409 | if (used_math()) { | 409 | if (used_math()) { |
410 | sp -= sig_xstate_size; | 410 | sp -= sig_xstate_size; |
411 | *fpstate = (void __user *)round_down(sp, 64); | 411 | *fpstate = (void __user *)round_down(sp, 64); |
412 | |||
412 | if (save_i387_xstate(*fpstate) < 0) | 413 | if (save_i387_xstate(*fpstate) < 0) |
413 | return (void __user *) -1L; | 414 | return (void __user *) -1L; |
414 | |||
415 | sp -= frame_size; | ||
416 | return (void __user *)round_down(sp, 16) - 8; | ||
417 | } | 415 | } |
418 | 416 | ||
419 | sp -= frame_size; | 417 | sp -= frame_size; |
420 | return (void __user *)round_down(sp, 64) - 8; | 418 | return (void __user *)round_down(sp, 16) - 8; |
421 | } | 419 | } |
422 | 420 | ||
423 | static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, | 421 | static int __setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info, |