diff options
Diffstat (limited to 'arch/um/sys-x86_64/signal.c')
-rw-r--r-- | arch/um/sys-x86_64/signal.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/um/sys-x86_64/signal.c b/arch/um/sys-x86_64/signal.c index 9edf114faf79..af2f017617b4 100644 --- a/arch/um/sys-x86_64/signal.c +++ b/arch/um/sys-x86_64/signal.c | |||
@@ -191,8 +191,9 @@ int setup_signal_stack_si(unsigned long stack_top, int sig, | |||
191 | struct task_struct *me = current; | 191 | struct task_struct *me = current; |
192 | 192 | ||
193 | frame = (struct rt_sigframe __user *) | 193 | frame = (struct rt_sigframe __user *) |
194 | round_down(stack_top - sizeof(struct rt_sigframe), 16) - 8; | 194 | round_down(stack_top - sizeof(struct rt_sigframe), 16); |
195 | frame = (struct rt_sigframe __user *) ((unsigned long) frame - 128); | 195 | /* Subtract 128 for a red zone and 8 for proper alignment */ |
196 | frame = (struct rt_sigframe __user *) ((unsigned long) frame - 128 - 8); | ||
196 | 197 | ||
197 | if (!access_ok(VERIFY_WRITE, fp, sizeof(struct _fpstate))) | 198 | if (!access_ok(VERIFY_WRITE, fp, sizeof(struct _fpstate))) |
198 | goto out; | 199 | goto out; |