]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
arm64: signal: return struct rt_sigframe from get_sigframe
authorWill Deacon <will.deacon@arm.com>
Fri, 23 Nov 2012 11:01:04 +0000 (11:01 +0000)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 23 Nov 2012 18:11:37 +0000 (18:11 +0000)
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>
arch/arm64/kernel/signal.c

index 051bb523ba2c6599745d53e63d3e966bcca51563..abd756315cb54c901400065192786cde95b1d854 100644 (file)
@@ -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;