aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/net-sysfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/core/net-sysfs.c')
-rw-r--r--net/core/net-sysfs.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index 981fed397d1d..9bd9ae16adf5 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -1157,6 +1157,13 @@ static void remove_queue_kobjects(struct net_device *net)
1157#endif 1157#endif
1158} 1158}
1159 1159
1160static bool net_current_may_mount(void)
1161{
1162 struct net *net = current->nsproxy->net_ns;
1163
1164 return ns_capable(net->user_ns, CAP_SYS_ADMIN);
1165}
1166
1160static void *net_grab_current_ns(void) 1167static void *net_grab_current_ns(void)
1161{ 1168{
1162 struct net *ns = current->nsproxy->net_ns; 1169 struct net *ns = current->nsproxy->net_ns;
@@ -1179,6 +1186,7 @@ static const void *net_netlink_ns(struct sock *sk)
1179 1186
1180struct kobj_ns_type_operations net_ns_type_operations = { 1187struct kobj_ns_type_operations net_ns_type_operations = {
1181 .type = KOBJ_NS_TYPE_NET, 1188 .type = KOBJ_NS_TYPE_NET,
1189 .current_may_mount = net_current_may_mount,
1182 .grab_current_ns = net_grab_current_ns, 1190 .grab_current_ns = net_grab_current_ns,
1183 .netlink_ns = net_netlink_ns, 1191 .netlink_ns = net_netlink_ns,
1184 .initial_ns = net_initial_ns, 1192 .initial_ns = net_initial_ns,