diff options
author | Arnd Bergmann <arnd@arndb.de> | 2009-06-27 09:05:30 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2009-06-27 09:09:52 -0400 |
commit | a1f8213b9518d0e9124a48a34bdd58b4bc2650e5 (patch) | |
tree | 07de0c44f8e30fb6da6458b6026c3114740ea9bc /arch/score/kernel/signal.c | |
parent | 9fb24cc50045ec8d13d0a6c3d4d454750b466d61 (diff) |
score: add address space annotations
Annotate the address space for pointers that are used
correctly with __user and __iomem, so that sparse
can better warn about incorrect casts.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/score/kernel/signal.c')
-rw-r--r-- | arch/score/kernel/signal.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/score/kernel/signal.c b/arch/score/kernel/signal.c index 252f6d95ad9e..1634aaa7c2ba 100644 --- a/arch/score/kernel/signal.c +++ b/arch/score/kernel/signal.c | |||
@@ -131,13 +131,13 @@ void __user *get_sigframe(struct k_sigaction *ka, struct pt_regs *regs, | |||
131 | if ((ka->sa.sa_flags & SA_ONSTACK) && (!on_sig_stack(sp))) | 131 | if ((ka->sa.sa_flags & SA_ONSTACK) && (!on_sig_stack(sp))) |
132 | sp = current->sas_ss_sp + current->sas_ss_size; | 132 | sp = current->sas_ss_sp + current->sas_ss_size; |
133 | 133 | ||
134 | return (void *)((sp - frame_size) & ~7); | 134 | return (void __user*)((sp - frame_size) & ~7); |
135 | } | 135 | } |
136 | 136 | ||
137 | int score_sigaltstack(struct pt_regs *regs) | 137 | int score_sigaltstack(struct pt_regs *regs) |
138 | { | 138 | { |
139 | const stack_t *uss = (const stack_t *) regs->regs[4]; | 139 | const stack_t __user *uss = (const stack_t __user *) regs->regs[4]; |
140 | stack_t *uoss = (stack_t *) regs->regs[5]; | 140 | stack_t __user *uoss = (stack_t __user *) regs->regs[5]; |
141 | unsigned long usp = regs->regs[0]; | 141 | unsigned long usp = regs->regs[0]; |
142 | 142 | ||
143 | return do_sigaltstack(uss, uoss, usp); | 143 | return do_sigaltstack(uss, uoss, usp); |
@@ -188,7 +188,7 @@ badframe: | |||
188 | int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, | 188 | int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, |
189 | int signr, sigset_t *set, siginfo_t *info) | 189 | int signr, sigset_t *set, siginfo_t *info) |
190 | { | 190 | { |
191 | struct rt_sigframe *frame; | 191 | struct rt_sigframe __user *frame; |
192 | int err = 0; | 192 | int err = 0; |
193 | 193 | ||
194 | frame = get_sigframe(ka, regs, sizeof(*frame)); | 194 | frame = get_sigframe(ka, regs, sizeof(*frame)); |
@@ -209,7 +209,7 @@ int setup_rt_frame(struct k_sigaction *ka, struct pt_regs *regs, | |||
209 | err |= copy_siginfo_to_user(&frame->rs_info, info); | 209 | err |= copy_siginfo_to_user(&frame->rs_info, info); |
210 | err |= __put_user(0, &frame->rs_uc.uc_flags); | 210 | err |= __put_user(0, &frame->rs_uc.uc_flags); |
211 | err |= __put_user(0, &frame->rs_uc.uc_link); | 211 | err |= __put_user(0, &frame->rs_uc.uc_link); |
212 | err |= __put_user((void *)current->sas_ss_sp, | 212 | err |= __put_user((void __user *)current->sas_ss_sp, |
213 | &frame->rs_uc.uc_stack.ss_sp); | 213 | &frame->rs_uc.uc_stack.ss_sp); |
214 | err |= __put_user(sas_ss_flags(regs->regs[0]), | 214 | err |= __put_user(sas_ss_flags(regs->regs[0]), |
215 | &frame->rs_uc.uc_stack.ss_flags); | 215 | &frame->rs_uc.uc_stack.ss_flags); |