|
@@ -82,12 +82,9 @@ static int proc_handler_callhome(struct ctl_table *ctl, int write,
|
|
|
return -EFAULT;
|
|
|
} else {
|
|
|
len = *count;
|
|
|
- rc = copy_from_user(buf, buffer, sizeof(buf));
|
|
|
- if (rc != 0)
|
|
|
- return -EFAULT;
|
|
|
- buf[sizeof(buf) - 1] = '\0';
|
|
|
- if (strict_strtoul(buf, 0, &val) != 0)
|
|
|
- return -EINVAL;
|
|
|
+ rc = kstrtoul_from_user(buffer, len, 0, &val);
|
|
|
+ if (rc)
|
|
|
+ return rc;
|
|
|
if (val != 0 && val != 1)
|
|
|
return -EINVAL;
|
|
|
callhome_enabled = val;
|