sysctl: pass kernel pointers to ->proc_handler
[linux-block.git] / arch / s390 / mm / cmm.c
index ae989b740376183117d9ff753fd267e0896e40d5..36bce727897bd634b482429082fb2a102cb9e0e6 100644 (file)
@@ -245,7 +245,7 @@ static int cmm_skip_blanks(char *cp, char **endp)
 }
 
 static int cmm_pages_handler(struct ctl_table *ctl, int write,
-                            void __user *buffer, size_t *lenp, loff_t *ppos)
+                            void *buffer, size_t *lenp, loff_t *ppos)
 {
        long nr = cmm_get_pages();
        struct ctl_table ctl_entry = {
@@ -264,7 +264,7 @@ static int cmm_pages_handler(struct ctl_table *ctl, int write,
 }
 
 static int cmm_timed_pages_handler(struct ctl_table *ctl, int write,
-                                  void __user *buffer, size_t *lenp,
+                                  void *buffer, size_t *lenp,
                                   loff_t *ppos)
 {
        long nr = cmm_get_timed_pages();
@@ -284,7 +284,7 @@ static int cmm_timed_pages_handler(struct ctl_table *ctl, int write,
 }
 
 static int cmm_timeout_handler(struct ctl_table *ctl, int write,
-                              void __user *buffer, size_t *lenp, loff_t *ppos)
+                              void *buffer, size_t *lenp, loff_t *ppos)
 {
        char buf[64], *p;
        long nr, seconds;
@@ -297,8 +297,7 @@ static int cmm_timeout_handler(struct ctl_table *ctl, int write,
 
        if (write) {
                len = min(*lenp, sizeof(buf));
-               if (copy_from_user(buf, buffer, len))
-                       return -EFAULT;
+               memcpy(buf, buffer, len);
                buf[len - 1] = '\0';
                cmm_skip_blanks(buf, &p);
                nr = simple_strtoul(p, &p, 0);
@@ -311,8 +310,7 @@ static int cmm_timeout_handler(struct ctl_table *ctl, int write,
                              cmm_timeout_pages, cmm_timeout_seconds);
                if (len > *lenp)
                        len = *lenp;
-               if (copy_to_user(buffer, buf, len))
-                       return -EFAULT;
+               memcpy(buffer, buf, len);
                *lenp = len;
                *ppos += len;
        }