[PATCH] frv: sysctl __user annotations
Al Viro [Fri, 23 Jun 2006 09:04:05 +0000 (02:04 -0700)]
Add __user annotations to FRV-specific sysctl stuff.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

arch/frv/kernel/pm.c
arch/frv/kernel/sysctl.c

index f0b8fff..43ce28a 100644 (file)
@@ -137,7 +137,7 @@ unsigned long sleep_phys_sp(void *sp)
 #define CTL_PM_P0 4
 #define CTL_PM_CM 5
 
-static int user_atoi(char *ubuf, size_t len)
+static int user_atoi(char __user *ubuf, size_t len)
 {
        char buf[16];
        unsigned long ret;
@@ -159,7 +159,7 @@ static int user_atoi(char *ubuf, size_t len)
  * Send us to sleep.
  */
 static int sysctl_pm_do_suspend(ctl_table *ctl, int write, struct file *filp,
-                               void *buffer, size_t *lenp, loff_t *fpos)
+                               void __user *buffer, size_t *lenp, loff_t *fpos)
 {
        int retval, mode;
 
@@ -215,7 +215,7 @@ static int try_set_cmode(int new_cmode)
 
 
 static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
-                        void *buffer, size_t *lenp, loff_t *fpos)
+                        void __user *buffer, size_t *lenp, loff_t *fpos)
 {
        int new_cmode;
 
@@ -227,9 +227,9 @@ static int cmode_procctl(ctl_table *ctl, int write, struct file *filp,
        return try_set_cmode(new_cmode)?:*lenp;
 }
 
-static int cmode_sysctl(ctl_table *table, int *name, int nlen,
-                       void *oldval, size_t *oldlenp,
-                       void *newval, size_t newlen, void **context)
+static int cmode_sysctl(ctl_table *table, int __user *name, int nlen,
+                       void __user *oldval, size_t __user *oldlenp,
+                       void __user *newval, size_t newlen, void **context)
 {
        if (oldval && oldlenp) {
                size_t oldlen;
@@ -240,7 +240,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
                if (oldlen != sizeof(int))
                        return -EINVAL;
 
-               if (put_user(clock_cmode_current, (unsigned int *)oldval) ||
+               if (put_user(clock_cmode_current, (unsigned __user *)oldval) ||
                    put_user(sizeof(int), oldlenp))
                        return -EFAULT;
        }
@@ -250,7 +250,7 @@ static int cmode_sysctl(ctl_table *table, int *name, int nlen,
                if (newlen != sizeof(int))
                        return -EINVAL;
 
-               if (get_user(new_cmode, (int *)newval))
+               if (get_user(new_cmode, (int __user *)newval))
                        return -EFAULT;
 
                return try_set_cmode(new_cmode)?:1;
@@ -318,7 +318,7 @@ static int try_set_cm(int new_cm)
 }
 
 static int p0_procctl(ctl_table *ctl, int write, struct file *filp,
-                     void *buffer, size_t *lenp, loff_t *fpos)
+                     void __user *buffer, size_t *lenp, loff_t *fpos)
 {
        int new_p0;
 
@@ -330,9 +330,9 @@ static int p0_procctl(ctl_table *ctl, int write, struct file *filp,
        return try_set_p0(new_p0)?:*lenp;
 }
 
-static int p0_sysctl(ctl_table *table, int *name, int nlen,
-                    void *oldval, size_t *oldlenp,
-                    void *newval, size_t newlen, void **context)
+static int p0_sysctl(ctl_table *table, int __user *name, int nlen,
+                    void __user *oldval, size_t __user *oldlenp,
+                    void __user *newval, size_t newlen, void **context)
 {
        if (oldval && oldlenp) {
                size_t oldlen;
@@ -343,7 +343,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
                if (oldlen != sizeof(int))
                        return -EINVAL;
 
-               if (put_user(clock_p0_current, (unsigned int *)oldval) ||
+               if (put_user(clock_p0_current, (unsigned __user *)oldval) ||
                    put_user(sizeof(int), oldlenp))
                        return -EFAULT;
        }
@@ -353,7 +353,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
                if (newlen != sizeof(int))
                        return -EINVAL;
 
-               if (get_user(new_p0, (int *)newval))
+               if (get_user(new_p0, (int __user *)newval))
                        return -EFAULT;
 
                return try_set_p0(new_p0)?:1;
@@ -362,7 +362,7 @@ static int p0_sysctl(ctl_table *table, int *name, int nlen,
 }
 
 static int cm_procctl(ctl_table *ctl, int write, struct file *filp,
-                     void *buffer, size_t *lenp, loff_t *fpos)
+                     void __user *buffer, size_t *lenp, loff_t *fpos)
 {
        int new_cm;
 
@@ -374,9 +374,9 @@ static int cm_procctl(ctl_table *ctl, int write, struct file *filp,
        return try_set_cm(new_cm)?:*lenp;
 }
 
-static int cm_sysctl(ctl_table *table, int *name, int nlen,
-                    void *oldval, size_t *oldlenp,
-                    void *newval, size_t newlen, void **context)
+static int cm_sysctl(ctl_table *table, int __user *name, int nlen,
+                    void __user *oldval, size_t __user *oldlenp,
+                    void __user *newval, size_t newlen, void **context)
 {
        if (oldval && oldlenp) {
                size_t oldlen;
@@ -387,7 +387,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
                if (oldlen != sizeof(int))
                        return -EINVAL;
 
-               if (put_user(clock_cm_current, (unsigned int *)oldval) ||
+               if (put_user(clock_cm_current, (unsigned __user *)oldval) ||
                    put_user(sizeof(int), oldlenp))
                        return -EFAULT;
        }
@@ -397,7 +397,7 @@ static int cm_sysctl(ctl_table *table, int *name, int nlen,
                if (newlen != sizeof(int))
                        return -EINVAL;
 
-               if (get_user(new_cm, (int *)newval))
+               if (get_user(new_cm, (int __user *)newval))
                        return -EFAULT;
 
                return try_set_cm(new_cm)?:1;
index 408b0f3..b908863 100644 (file)
@@ -49,7 +49,7 @@ static void frv_change_dcache_mode(unsigned long newmode)
  * handle requests to dynamically switch the write caching mode delivered by /proc
  */
 static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
-                                void *buffer, size_t *lenp, loff_t *ppos)
+                                void __user *buffer, size_t *lenp, loff_t *ppos)
 {
        unsigned long hsr0;
        char buff[8];
@@ -123,7 +123,7 @@ static int procctl_frv_cachemode(ctl_table *table, int write, struct file *filp,
  */
 #ifdef CONFIG_MMU
 static int procctl_frv_pin_cxnr(ctl_table *table, int write, struct file *filp,
-                               void *buffer, size_t *lenp, loff_t *ppos)
+                               void __user *buffer, size_t *lenp, loff_t *ppos)
 {
        pid_t pid;
        char buff[16], *p;