aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm64/kernel/signal.c
diff options
context:
space:
mode:
authorWill Deacon <will.deacon@arm.com>2012-11-23 06:01:04 -0500
committerCatalin Marinas <catalin.marinas@arm.com>2012-11-23 13:11:37 -0500
commitb64e1c6139c5007b7773b0ce416ef9ea035e8724 (patch)
tree5b273423506b6bfdb237186210fe5b137e437688 /arch/arm64/kernel/signal.c
parent060a18c7e3d52bdb2ff70dcc09f23dcf1656e6c8 (diff)
arm64: signal: return struct rt_sigframe from get_sigframe
We only have one type of frame (rt_sigframe) for arm64, so just return that type directly and dispense with the framesize argument, which is presumably a hangover from code copied from arch/arm/. Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Diffstat (limited to 'arch/arm64/kernel/signal.c')
-rw-r--r--arch/arm64/kernel/signal.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c
index 051bb523ba2c..abd756315cb5 100644
--- a/arch/arm64/kernel/signal.c
+++ b/arch/arm64/kernel/signal.c
@@ -202,11 +202,11 @@ static int setup_sigframe(struct rt_sigframe __user *sf,
202 return err; 202 return err;
203} 203}
204 204
205static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, 205static struct rt_sigframe __user *get_sigframe(struct k_sigaction *ka,
206 int framesize) 206 struct pt_regs *regs)
207{ 207{
208 unsigned long sp, sp_top; 208 unsigned long sp, sp_top;
209 void __user *frame; 209 struct rt_sigframe __user *frame;
210 210
211 sp = sp_top = regs->sp; 211 sp = sp_top = regs->sp;
212 212
@@ -216,8 +216,8 @@ static void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs,
216 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) 216 if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp))
217 sp = sp_top = current->sas_ss_sp + current->sas_ss_size; 217 sp = sp_top = current->sas_ss_sp + current->sas_ss_size;
218 218
219 sp = (sp - framesize) & ~15; 219 sp = (sp - sizeof(struct rt_sigframe)) & ~15;
220 frame = (void __user *)sp; 220 frame = (struct rt_sigframe __user *)sp;
221 221
222 /* 222 /*
223 * Check that we can actually write to the signal frame. 223 * 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,
253 stack_t stack; 253 stack_t stack;
254 int err = 0; 254 int err = 0;
255 255
256 frame = get_sigframe(ka, regs, sizeof(*frame)); 256 frame = get_sigframe(ka, regs);
257 if (!frame) 257 if (!frame)
258 return 1; 258 return 1;
259 259