|
@@ -1500,7 +1500,6 @@ void register_sysctl_root(struct ctl_table_root *root)
|
|
|
/* Perform the actual read/write of a sysctl table entry. */
|
|
|
static int do_sysctl_strategy(struct ctl_table_root *root,
|
|
|
struct ctl_table *table,
|
|
|
- int __user *name, int nlen,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -1514,8 +1513,7 @@ static int do_sysctl_strategy(struct ctl_table_root *root,
|
|
|
return -EPERM;
|
|
|
|
|
|
if (table->strategy) {
|
|
|
- rc = table->strategy(table, name, nlen, oldval, oldlenp,
|
|
|
- newval, newlen);
|
|
|
+ rc = table->strategy(table, oldval, oldlenp, newval, newlen);
|
|
|
if (rc < 0)
|
|
|
return rc;
|
|
|
if (rc > 0)
|
|
@@ -1525,8 +1523,7 @@ static int do_sysctl_strategy(struct ctl_table_root *root,
|
|
|
/* If there is no strategy routine, or if the strategy returns
|
|
|
* zero, proceed with automatic r/w */
|
|
|
if (table->data && table->maxlen) {
|
|
|
- rc = sysctl_data(table, name, nlen, oldval, oldlenp,
|
|
|
- newval, newlen);
|
|
|
+ rc = sysctl_data(table, oldval, oldlenp, newval, newlen);
|
|
|
if (rc < 0)
|
|
|
return rc;
|
|
|
}
|
|
@@ -1558,7 +1555,7 @@ repeat:
|
|
|
table = table->child;
|
|
|
goto repeat;
|
|
|
}
|
|
|
- error = do_sysctl_strategy(root, table, name, nlen,
|
|
|
+ error = do_sysctl_strategy(root, table,
|
|
|
oldval, oldlenp,
|
|
|
newval, newlen);
|
|
|
return error;
|
|
@@ -2707,7 +2704,7 @@ int proc_doulongvec_ms_jiffies_minmax(struct ctl_table *table, int write,
|
|
|
*/
|
|
|
|
|
|
/* The generic sysctl data routine (used if no strategy routine supplied) */
|
|
|
-int sysctl_data(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_data(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -2741,7 +2738,7 @@ int sysctl_data(struct ctl_table *table, int __user *name, int nlen,
|
|
|
}
|
|
|
|
|
|
/* The generic string strategy routine: */
|
|
|
-int sysctl_string(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_string(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -2787,7 +2784,7 @@ int sysctl_string(struct ctl_table *table, int __user *name, int nlen,
|
|
|
* are between the minimum and maximum values given in the arrays
|
|
|
* table->extra1 and table->extra2, respectively.
|
|
|
*/
|
|
|
-int sysctl_intvec(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_intvec(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -2823,7 +2820,7 @@ int sysctl_intvec(struct ctl_table *table, int __user *name, int nlen,
|
|
|
}
|
|
|
|
|
|
/* Strategy function to convert jiffies to seconds */
|
|
|
-int sysctl_jiffies(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_jiffies(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -2857,7 +2854,7 @@ int sysctl_jiffies(struct ctl_table *table, int __user *name, int nlen,
|
|
|
}
|
|
|
|
|
|
/* Strategy function to convert jiffies to seconds */
|
|
|
-int sysctl_ms_jiffies(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_ms_jiffies(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
@@ -2912,35 +2909,35 @@ asmlinkage long sys_sysctl(struct __sysctl_args __user *args)
|
|
|
return error;
|
|
|
}
|
|
|
|
|
|
-int sysctl_data(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_data(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
-int sysctl_string(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_string(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
-int sysctl_intvec(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_intvec(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
-int sysctl_jiffies(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_jiffies(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|
|
|
return -ENOSYS;
|
|
|
}
|
|
|
|
|
|
-int sysctl_ms_jiffies(struct ctl_table *table, int __user *name, int nlen,
|
|
|
+int sysctl_ms_jiffies(struct ctl_table *table,
|
|
|
void __user *oldval, size_t __user *oldlenp,
|
|
|
void __user *newval, size_t newlen)
|
|
|
{
|