diff options
Diffstat (limited to 'net/ipv4/sysctl_net_ipv4.c')
| -rw-r--r-- | net/ipv4/sysctl_net_ipv4.c | 42 | 
1 files changed, 14 insertions, 28 deletions
| diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 44eba052b43d..5cde8f263d40 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c @@ -45,10 +45,10 @@ static int ip_ping_group_range_max[] = { GID_T_MAX, GID_T_MAX };  /* Update system visible IP port range */  static void set_local_port_range(struct net *net, int range[2])  { -	write_seqlock(&net->ipv4.sysctl_local_ports.lock); -	net->ipv4.sysctl_local_ports.range[0] = range[0]; -	net->ipv4.sysctl_local_ports.range[1] = range[1]; -	write_sequnlock(&net->ipv4.sysctl_local_ports.lock); +	write_seqlock(&net->ipv4.ip_local_ports.lock); +	net->ipv4.ip_local_ports.range[0] = range[0]; +	net->ipv4.ip_local_ports.range[1] = range[1]; +	write_sequnlock(&net->ipv4.ip_local_ports.lock);  }  /* Validate changes from /proc interface. */ @@ -57,7 +57,7 @@ static int ipv4_local_port_range(struct ctl_table *table, int write,  				 size_t *lenp, loff_t *ppos)  {  	struct net *net = -		container_of(table->data, struct net, ipv4.sysctl_local_ports.range); +		container_of(table->data, struct net, ipv4.ip_local_ports.range);  	int ret;  	int range[2];  	struct ctl_table tmp = { @@ -87,14 +87,14 @@ static void inet_get_ping_group_range_table(struct ctl_table *table, kgid_t *low  {  	kgid_t *data = table->data;  	struct net *net = -		container_of(table->data, struct net, ipv4.sysctl_ping_group_range); +		container_of(table->data, struct net, ipv4.ping_group_range.range);  	unsigned int seq;  	do { -		seq = read_seqbegin(&net->ipv4.sysctl_local_ports.lock); +		seq = read_seqbegin(&net->ipv4.ip_local_ports.lock);  		*low = data[0];  		*high = data[1]; -	} while (read_seqretry(&net->ipv4.sysctl_local_ports.lock, seq)); +	} while (read_seqretry(&net->ipv4.ip_local_ports.lock, seq));  }  /* Update system visible IP port range */ @@ -102,11 +102,11 @@ static void set_ping_group_range(struct ctl_table *table, kgid_t low, kgid_t hig  {  	kgid_t *data = table->data;  	struct net *net = -		container_of(table->data, struct net, ipv4.sysctl_ping_group_range); -	write_seqlock(&net->ipv4.sysctl_local_ports.lock); +		container_of(table->data, struct net, ipv4.ping_group_range.range); +	write_seqlock(&net->ipv4.ip_local_ports.lock);  	data[0] = low;  	data[1] = high; -	write_sequnlock(&net->ipv4.sysctl_local_ports.lock); +	write_sequnlock(&net->ipv4.ip_local_ports.lock);  }  /* Validate changes from /proc interface. */ @@ -805,7 +805,7 @@ static struct ctl_table ipv4_net_table[] = {  	},  	{  		.procname	= "ping_group_range", -		.data		= &init_net.ipv4.sysctl_ping_group_range, +		.data		= &init_net.ipv4.ping_group_range.range,  		.maxlen		= sizeof(gid_t)*2,  		.mode		= 0644,  		.proc_handler	= ipv4_ping_group_range, @@ -819,8 +819,8 @@ static struct ctl_table ipv4_net_table[] = {  	},  	{  		.procname	= "ip_local_port_range", -		.maxlen		= sizeof(init_net.ipv4.sysctl_local_ports.range), -		.data		= &init_net.ipv4.sysctl_local_ports.range, +		.maxlen		= sizeof(init_net.ipv4.ip_local_ports.range), +		.data		= &init_net.ipv4.ip_local_ports.range,  		.mode		= 0644,  		.proc_handler	= ipv4_local_port_range,  	}, @@ -858,20 +858,6 @@ static __net_init int ipv4_sysctl_init_net(struct net *net)  			table[i].data += (void *)net - (void *)&init_net;  	} -	/* -	 * Sane defaults - nobody may create ping sockets. -	 * Boot scripts should set this to distro-specific group. -	 */ -	net->ipv4.sysctl_ping_group_range[0] = make_kgid(&init_user_ns, 1); -	net->ipv4.sysctl_ping_group_range[1] = make_kgid(&init_user_ns, 0); - -	/* -	 * Set defaults for local port range -	 */ -	seqlock_init(&net->ipv4.sysctl_local_ports.lock); -	net->ipv4.sysctl_local_ports.range[0] =  32768; -	net->ipv4.sysctl_local_ports.range[1] =  61000; -  	net->ipv4.ipv4_hdr = register_net_sysctl(net, "net/ipv4", table);  	if (net->ipv4.ipv4_hdr == NULL)  		goto err_reg; | 

