diff options
Diffstat (limited to 'net/core/neighbour.c')
| -rw-r--r-- | net/core/neighbour.c | 4 | 
1 files changed, 4 insertions, 0 deletions
diff --git a/net/core/neighbour.c b/net/core/neighbour.c index 22571488730..f1c0c2e9cad 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c @@ -2987,6 +2987,10 @@ int neigh_sysctl_register(struct net_device *dev, struct neigh_parms *p,  		t->neigh_vars[NEIGH_VAR_BASE_REACHABLE_TIME_MS].extra1 = dev;  	} +	/* Don't export sysctls to unprivileged users */ +	if (neigh_parms_net(p)->user_ns != &init_user_ns) +		t->neigh_vars[0].procname = NULL; +  	snprintf(neigh_path, sizeof(neigh_path), "net/%s/neigh/%s",  		p_name, dev_name_source);  	t->sysctl_header =  |