Commit 42f3678e authored by Linus Torvalds's avatar Linus Torvalds Committed by Linus Torvalds

Annotate i386/signal.c with address space type annotations.

parent afb34093
......@@ -53,7 +53,7 @@ sys_sigsuspend(int history0, int history1, old_sigset_t mask)
}
asmlinkage int
sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize)
sys_rt_sigsuspend(sigset_t __user *unewset, size_t sigsetsize)
{
struct pt_regs * regs = (struct pt_regs *) &unewset;
sigset_t saveset, newset;
......@@ -82,8 +82,8 @@ sys_rt_sigsuspend(sigset_t *unewset, size_t sigsetsize)
}
asmlinkage int
sys_sigaction(int sig, const struct old_sigaction *act,
struct old_sigaction *oact)
sys_sigaction(int sig, const struct old_sigaction __user *act,
struct old_sigaction __user *oact)
{
struct k_sigaction new_ka, old_ka;
int ret;
......@@ -148,7 +148,7 @@ struct rt_sigframe
};
static int
restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc, int *peax)
restore_sigcontext(struct pt_regs *regs, struct sigcontext __user *sc, int *peax)
{
unsigned int err = 0;
......@@ -192,7 +192,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc, int *peax)
}
{
struct _fpstate * buf;
struct _fpstate __user * buf;
err |= __get_user(buf, &sc->fpstate);
if (buf) {
if (verify_area(VERIFY_READ, buf, sizeof(*buf)))
......@@ -211,7 +211,7 @@ restore_sigcontext(struct pt_regs *regs, struct sigcontext *sc, int *peax)
asmlinkage int sys_sigreturn(unsigned long __unused)
{
struct pt_regs *regs = (struct pt_regs *) &__unused;
struct sigframe *frame = (struct sigframe *)(regs->esp - 8);
struct sigframe __user *frame = (struct sigframe __user *)(regs->esp - 8);
sigset_t set;
int eax;
......@@ -241,7 +241,7 @@ asmlinkage int sys_sigreturn(unsigned long __unused)
asmlinkage int sys_rt_sigreturn(unsigned long __unused)
{
struct pt_regs *regs = (struct pt_regs *) &__unused;
struct rt_sigframe *frame = (struct rt_sigframe *)(regs->esp - 4);
struct rt_sigframe __user *frame = (struct rt_sigframe __user *)(regs->esp - 4);
sigset_t set;
stack_t st;
int eax;
......@@ -278,7 +278,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long __unused)
*/
static int
setup_sigcontext(struct sigcontext *sc, struct _fpstate *fpstate,
setup_sigcontext(struct sigcontext __user *sc, struct _fpstate __user *fpstate,
struct pt_regs *regs, unsigned long mask)
{
int tmp, err = 0;
......@@ -323,7 +323,7 @@ setup_sigcontext(struct sigcontext *sc, struct _fpstate *fpstate,
/*
* Determine which stack to use..
*/
static inline void *
static inline void __user *
get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
{
unsigned long esp;
......@@ -344,14 +344,14 @@ get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size)
esp = (unsigned long) ka->sa.sa_restorer;
}
return (void *)((esp - frame_size) & -8ul);
return (void __user *)((esp - frame_size) & -8ul);
}
static void setup_frame(int sig, struct k_sigaction *ka,
sigset_t *set, struct pt_regs * regs)
{
void *restorer;
struct sigframe *frame;
struct sigframe __user *frame;
int err = 0;
frame = get_sigframe(ka, regs, sizeof(*frame));
......@@ -373,7 +373,7 @@ static void setup_frame(int sig, struct k_sigaction *ka,
goto give_sigsegv;
if (_NSIG_WORDS > 1) {
err |= __copy_to_user(frame->extramask, &set->sig[1],
err |= __copy_to_user(&frame->extramask, &set->sig[1],
sizeof(frame->extramask));
}
if (err)
......@@ -428,7 +428,7 @@ static void setup_rt_frame(int sig, struct k_sigaction *ka, siginfo_t *info,
sigset_t *set, struct pt_regs * regs)
{
void *restorer;
struct rt_sigframe *frame;
struct rt_sigframe __user *frame;
int err = 0;
frame = get_sigframe(ka, regs, sizeof(*frame));
......
......@@ -275,7 +275,7 @@ static inline void copy_siginfo(struct siginfo *to, struct siginfo *from)
#endif
extern int copy_siginfo_to_user(struct siginfo *to, struct siginfo *from);
extern int copy_siginfo_to_user(struct siginfo __user *to, struct siginfo *from);
#endif /* __KERNEL__ */
......
......@@ -81,8 +81,8 @@ extern void set_fpu_mxcsr( struct task_struct *tsk, unsigned short mxcsr );
/*
* Signal frame handlers...
*/
extern int save_i387( struct _fpstate *buf );
extern int restore_i387( struct _fpstate *buf );
extern int save_i387( struct _fpstate __user *buf );
extern int restore_i387( struct _fpstate __user *buf );
/*
* ptrace request handers...
......
#ifndef _ASMi386_SIGCONTEXT_H
#define _ASMi386_SIGCONTEXT_H
#include <linux/compiler.h>
/*
* As documented in the iBCS2 standard..
*
......@@ -74,7 +76,7 @@ struct sigcontext {
unsigned long eflags;
unsigned long esp_at_signal;
unsigned short ss, __ssh;
struct _fpstate * fpstate;
struct _fpstate __user * fpstate;
unsigned long oldmask;
unsigned long cr2;
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment