diff options
author | Richard Weinberger <richard@nod.at> | 2014-03-05 07:34:54 -0500 |
---|---|---|
committer | Richard Weinberger <richard@sigma-star.at> | 2014-08-06 07:03:46 -0400 |
commit | 065f31bd263b61b1fbf6c0ae4e7c0d3cf7373b10 (patch) | |
tree | b6908b8da5108a7f4eb498b17e664bb27f5da730 /arch/avr32/kernel | |
parent | 38a7be3c280bb9f9c4c892cf5ff51c847e959cf1 (diff) |
avr32: Use sigsp()
Use sigsp() instead of the open coded variant.
Signed-off-by: Richard Weinberger <richard@nod.at>
Acked-by: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Diffstat (limited to 'arch/avr32/kernel')
-rw-r--r-- | arch/avr32/kernel/signal.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/avr32/kernel/signal.c b/arch/avr32/kernel/signal.c index dda150fe73bb..d309fbcc3bd6 100644 --- a/arch/avr32/kernel/signal.c +++ b/arch/avr32/kernel/signal.c | |||
@@ -127,12 +127,9 @@ setup_sigcontext(struct sigcontext __user *sc, struct pt_regs *regs) | |||
127 | } | 127 | } |
128 | 128 | ||
129 | static inline void __user * | 129 | static inline void __user * |
130 | get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, int framesize) | 130 | get_sigframe(struct ksignal *ksig, struct pt_regs *regs, int framesize) |
131 | { | 131 | { |
132 | unsigned long sp = regs->sp; | 132 | unsigned long sp = sigsp(regs->sp, ksig); |
133 | |||
134 | if ((ka->sa.sa_flags & SA_ONSTACK) && !sas_ss_flags(sp)) | ||
135 | sp = current->sas_ss_sp + current->sas_ss_size; | ||
136 | 133 | ||
137 | return (void __user *)((sp - framesize) & ~3); | 134 | return (void __user *)((sp - framesize) & ~3); |
138 | } | 135 | } |
@@ -143,7 +140,7 @@ setup_rt_frame(struct ksignal *ksig, sigset_t *set, struct pt_regs *regs) | |||
143 | struct rt_sigframe __user *frame; | 140 | struct rt_sigframe __user *frame; |
144 | int err = 0; | 141 | int err = 0; |
145 | 142 | ||
146 | frame = get_sigframe(&ksig->ka, regs, sizeof(*frame)); | 143 | frame = get_sigframe(ksig, regs, sizeof(*frame)); |
147 | err = -EFAULT; | 144 | err = -EFAULT; |
148 | if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) | 145 | if (!access_ok(VERIFY_WRITE, frame, sizeof (*frame))) |
149 | goto out; | 146 | goto out; |