From: Al Viro Signed-off-by: Al Viro Signed-off-by: David Howells Signed-off-by: Andrew Morton --- arch/frv/kernel/irq.c | 6 +++--- arch/frv/kernel/process.c | 2 +- arch/frv/kernel/sys_frv.c | 2 +- include/asm-frv/checksum.h | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff -puN arch/frv/kernel/irq.c~frv-misc-__user-annotations arch/frv/kernel/irq.c --- a/arch/frv/kernel/irq.c~frv-misc-__user-annotations +++ a/arch/frv/kernel/irq.c @@ -625,7 +625,7 @@ static struct proc_dir_entry * irq_dir [ #define HEX_DIGITS 8 -static unsigned int parse_hex_value (const char *buffer, +static unsigned int parse_hex_value (const char __user *buffer, unsigned long count, unsigned long *ret) { unsigned char hexnum [HEX_DIGITS]; @@ -672,7 +672,7 @@ static int prof_cpu_mask_read_proc (char return sprintf (page, "%08lx\n", *mask); } -static int prof_cpu_mask_write_proc (struct file *file, const char *buffer, +static int prof_cpu_mask_write_proc (struct file *file, const char __user *buffer, unsigned long count, void *data) { unsigned long *mask = (unsigned long *) data, full_count = count, err; @@ -711,7 +711,7 @@ void init_irq_proc (void) int i; /* create /proc/irq */ - root_irq_dir = proc_mkdir("irq", 0); + root_irq_dir = proc_mkdir("irq", NULL); /* create /proc/irq/prof_cpu_mask */ entry = create_proc_entry("prof_cpu_mask", 0600, root_irq_dir); diff -puN arch/frv/kernel/process.c~frv-misc-__user-annotations arch/frv/kernel/process.c --- a/arch/frv/kernel/process.c~frv-misc-__user-annotations +++ a/arch/frv/kernel/process.c @@ -246,7 +246,7 @@ int copy_thread(int nr, unsigned long cl /* * sys_execve() executes a new program. */ -asmlinkage int sys_execve(char *name, char **argv, char **envp) +asmlinkage int sys_execve(char __user *name, char __user * __user *argv, char __user * __user *envp) { int error; char * filename; diff -puN arch/frv/kernel/sys_frv.c~frv-misc-__user-annotations arch/frv/kernel/sys_frv.c --- a/arch/frv/kernel/sys_frv.c~frv-misc-__user-annotations +++ a/arch/frv/kernel/sys_frv.c @@ -32,7 +32,7 @@ * sys_pipe() is the normal C calling standard for creating * a pipe. It's not the way unix traditionally does this, though. */ -asmlinkage long sys_pipe(unsigned long * fildes) +asmlinkage long sys_pipe(unsigned long __user * fildes) { int fd[2]; int error; diff -puN include/asm-frv/checksum.h~frv-misc-__user-annotations include/asm-frv/checksum.h --- a/include/asm-frv/checksum.h~frv-misc-__user-annotations +++ a/include/asm-frv/checksum.h @@ -43,7 +43,7 @@ unsigned int csum_partial_copy(const cha * here even more important to align src and dst on a 32-bit (or even * better 64-bit) boundary */ -extern unsigned int csum_partial_copy_from_user(const char *src, char *dst, +extern unsigned int csum_partial_copy_from_user(const char __user *src, char *dst, int len, int sum, int *csum_err); #define csum_partial_copy_nocheck(src, dst, len, sum) \ _