From 990519fde51fa8f364be6868c711f6fc72407d2b Mon Sep 17 00:00:00 2001 From: Will Deacon Date: Fri, 23 Nov 2012 11:01:04 +0000 Subject: [PATCH] --- yaml --- r: 339196 b: refs/heads/master c: b64e1c6139c5007b7773b0ce416ef9ea035e8724 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm64/kernel/signal.c | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index 60c4be9f14ab..2aaa4e76277f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 060a18c7e3d52bdb2ff70dcc09f23dcf1656e6c8 +refs/heads/master: b64e1c6139c5007b7773b0ce416ef9ea035e8724 diff --git a/trunk/arch/arm64/kernel/signal.c b/trunk/arch/arm64/kernel/signal.c index 051bb523ba2c..abd756315cb5 100644 --- a/trunk/arch/arm64/kernel/signal.c +++ b/trunk/arch/arm64/kernel/signal.c @@ -202,11 +202,11 @@ static int setup_sigframe(struct rt_sigframe __user *sf, return err; } -static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, - int framesize) +static struct rt_sigframe __user *get_sigframe(struct k_sigaction *ka, + struct pt_regs *regs) { unsigned long sp, sp_top; - void __user *frame; + struct rt_sigframe __user *frame; sp = sp_top = regs->sp; @@ -216,8 +216,8 @@ static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) sp = sp_top = current->sas_ss_sp + current->sas_ss_size; - sp = (sp - framesize) & ~15; - frame = (void __user *)sp; + sp = (sp - sizeof(struct rt_sigframe)) & ~15; + frame = (struct rt_sigframe __user *)sp; /* * Check that we can actually write to the signal frame. @@ -253,7 +253,7 @@ static int setup_rt_frame(int usig, struct k_sigaction *ka, siginfo_t *info, stack_t stack; int err = 0; - frame = get_sigframe(ka, regs, sizeof(*frame)); + frame = get_sigframe(ka, regs); if (!frame) return 1;