diff options
| -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, |
