sysctl: simplify ->strategy
name and nlen parameters passed to ->strategy hook are unused, remove them. In general ->strategy hook should know what it's doing, and don't do something tricky for which, say, pointer to original userspace array may be needed (name). Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com> Acked-by: David S. Miller <davem@davemloft.net> [ networking bits ] Cc: Ralf Baechle <ralf@linux-mips.org> Cc: David Howells <dhowells@redhat.com> Cc: Matt Mackall <mpm@selenic.com> Cc: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
committed by
Linus Torvalds
parent
f40cbaa5b0
commit
f221e726bf
+2
-2
@@ -166,7 +166,7 @@ static int max_priority[] = { 127 }; /* From DECnet spec */
|
||||
|
||||
static int dn_forwarding_proc(ctl_table *, int, struct file *,
|
||||
void __user *, size_t *, loff_t *);
|
||||
static int dn_forwarding_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||
static int dn_forwarding_sysctl(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen);
|
||||
|
||||
@@ -318,7 +318,7 @@ static int dn_forwarding_proc(ctl_table *table, int write,
|
||||
#endif
|
||||
}
|
||||
|
||||
static int dn_forwarding_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||
static int dn_forwarding_sysctl(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
|
||||
@@ -132,7 +132,7 @@ static int parse_addr(__le16 *addr, char *str)
|
||||
}
|
||||
|
||||
|
||||
static int dn_node_address_strategy(ctl_table *table, int __user *name, int nlen,
|
||||
static int dn_node_address_strategy(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
@@ -217,7 +217,7 @@ static int dn_node_address_handler(ctl_table *table, int write,
|
||||
}
|
||||
|
||||
|
||||
static int dn_def_dev_strategy(ctl_table *table, int __user *name, int nlen,
|
||||
static int dn_def_dev_strategy(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
|
||||
+3
-4
@@ -1283,7 +1283,7 @@ static int devinet_conf_proc(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int devinet_conf_sysctl(ctl_table *table, int __user *name, int nlen,
|
||||
static int devinet_conf_sysctl(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
@@ -1379,12 +1379,11 @@ int ipv4_doint_and_flush(ctl_table *ctl, int write,
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen,
|
||||
int ipv4_doint_and_flush_strategy(ctl_table *table,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
int ret = devinet_conf_sysctl(table, name, nlen, oldval, oldlenp,
|
||||
newval, newlen);
|
||||
int ret = devinet_conf_sysctl(table, oldval, oldlenp, newval, newlen);
|
||||
struct net *net = table->extra2;
|
||||
|
||||
if (ret == 1)
|
||||
|
||||
+1
-6
@@ -2908,8 +2908,6 @@ static int ipv4_sysctl_rtcache_flush(ctl_table *__ctl, int write,
|
||||
}
|
||||
|
||||
static int ipv4_sysctl_rtcache_flush_strategy(ctl_table *table,
|
||||
int __user *name,
|
||||
int nlen,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
@@ -2972,16 +2970,13 @@ static int ipv4_sysctl_rt_secret_interval(ctl_table *ctl, int write,
|
||||
}
|
||||
|
||||
static int ipv4_sysctl_rt_secret_interval_strategy(ctl_table *table,
|
||||
int __user *name,
|
||||
int nlen,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
size_t newlen)
|
||||
{
|
||||
int old = ip_rt_secret_interval;
|
||||
int ret = sysctl_jiffies(table, name, nlen, oldval, oldlenp, newval,
|
||||
newlen);
|
||||
int ret = sysctl_jiffies(table, oldval, oldlenp, newval, newlen);
|
||||
|
||||
rt_secret_reschedule(old);
|
||||
|
||||
|
||||
@@ -64,8 +64,8 @@ static int ipv4_local_port_range(ctl_table *table, int write, struct file *filp,
|
||||
}
|
||||
|
||||
/* Validate changes from sysctl interface. */
|
||||
static int ipv4_sysctl_local_port_range(ctl_table *table, int __user *name,
|
||||
int nlen, void __user *oldval,
|
||||
static int ipv4_sysctl_local_port_range(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
@@ -80,7 +80,7 @@ static int ipv4_sysctl_local_port_range(ctl_table *table, int __user *name,
|
||||
};
|
||||
|
||||
inet_get_local_port_range(range, range + 1);
|
||||
ret = sysctl_intvec(&tmp, name, nlen, oldval, oldlenp, newval, newlen);
|
||||
ret = sysctl_intvec(&tmp, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 0 && newval && newlen) {
|
||||
if (range[1] < range[0])
|
||||
ret = -EINVAL;
|
||||
@@ -109,8 +109,8 @@ static int proc_tcp_congestion_control(ctl_table *ctl, int write, struct file *
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int sysctl_tcp_congestion_control(ctl_table *table, int __user *name,
|
||||
int nlen, void __user *oldval,
|
||||
static int sysctl_tcp_congestion_control(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
@@ -122,7 +122,7 @@ static int sysctl_tcp_congestion_control(ctl_table *table, int __user *name,
|
||||
int ret;
|
||||
|
||||
tcp_get_default_congestion_control(val);
|
||||
ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
|
||||
ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 1 && newval && newlen)
|
||||
ret = tcp_set_default_congestion_control(val);
|
||||
return ret;
|
||||
@@ -165,8 +165,8 @@ static int proc_allowed_congestion_control(ctl_table *ctl,
|
||||
return ret;
|
||||
}
|
||||
|
||||
static int strategy_allowed_congestion_control(ctl_table *table, int __user *name,
|
||||
int nlen, void __user *oldval,
|
||||
static int strategy_allowed_congestion_control(ctl_table *table,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval,
|
||||
size_t newlen)
|
||||
@@ -179,7 +179,7 @@ static int strategy_allowed_congestion_control(ctl_table *table, int __user *nam
|
||||
return -ENOMEM;
|
||||
|
||||
tcp_get_available_congestion_control(tbl.data, tbl.maxlen);
|
||||
ret = sysctl_string(&tbl, name, nlen, oldval, oldlenp, newval, newlen);
|
||||
ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen);
|
||||
if (ret == 1 && newval && newlen)
|
||||
ret = tcp_set_allowed_congestion_control(tbl.data);
|
||||
kfree(tbl.data);
|
||||
|
||||
@@ -3982,7 +3982,6 @@ int addrconf_sysctl_forward(ctl_table *ctl, int write, struct file * filp,
|
||||
}
|
||||
|
||||
static int addrconf_sysctl_forward_strategy(ctl_table *table,
|
||||
int __user *name, int nlen,
|
||||
void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
|
||||
+4
-7
@@ -1730,9 +1730,8 @@ int ndisc_ifinfo_sysctl_change(struct ctl_table *ctl, int write, struct file * f
|
||||
return ret;
|
||||
}
|
||||
|
||||
int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name,
|
||||
int nlen, void __user *oldval,
|
||||
size_t __user *oldlenp,
|
||||
int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl,
|
||||
void __user *oldval, size_t __user *oldlenp,
|
||||
void __user *newval, size_t newlen)
|
||||
{
|
||||
struct net_device *dev = ctl->extra1;
|
||||
@@ -1745,13 +1744,11 @@ int ndisc_ifinfo_sysctl_strategy(ctl_table *ctl, int __user *name,
|
||||
|
||||
switch (ctl->ctl_name) {
|
||||
case NET_NEIGH_REACHABLE_TIME:
|
||||
ret = sysctl_jiffies(ctl, name, nlen,
|
||||
oldval, oldlenp, newval, newlen);
|
||||
ret = sysctl_jiffies(ctl, oldval, oldlenp, newval, newlen);
|
||||
break;
|
||||
case NET_NEIGH_RETRANS_TIME_MS:
|
||||
case NET_NEIGH_REACHABLE_TIME_MS:
|
||||
ret = sysctl_ms_jiffies(ctl, name, nlen,
|
||||
oldval, oldlenp, newval, newlen);
|
||||
ret = sysctl_ms_jiffies(ctl, oldval, oldlenp, newval, newlen);
|
||||
break;
|
||||
default:
|
||||
ret = 0;
|
||||
|
||||
Reference in New Issue
Block a user