aboutsummaryrefslogtreecommitdiffstats
path: root/net/core/net-sysfs.c
diff options
context:
space:
mode:
authorTyler Hicks <tyhicks@canonical.com>2018-07-20 21:56:53 +0000
committerDavid S. Miller <davem@davemloft.net>2018-07-20 23:44:36 -0700
commitfbdeaed408cf2728c62640c10848ddb1b67e63d3 (patch)
tree4c06f4a43d4516e7f1f83db877f4f4c49b01077f /net/core/net-sysfs.c
parentnet-sysfs: make sure objects belong to container's owner (diff)
downloadlinux-dev-fbdeaed408cf2728c62640c10848ddb1b67e63d3.tar.xz
linux-dev-fbdeaed408cf2728c62640c10848ddb1b67e63d3.zip
net: create reusable function for getting ownership info of sysfs inodes
Make net_ns_get_ownership() reusable by networking code outside of core. This is useful, for example, to allow bridge related sysfs files to be owned by container root. Add a function comment since this is a potentially dangerous function to use given the way that kobject_get_ownership() works by initializing uid and gid before calling .get_ownership(). Signed-off-by: Tyler Hicks <tyhicks@canonical.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/net-sysfs.c')
-rw-r--r--net/core/net-sysfs.c18
1 files changed, 0 insertions, 18 deletions
diff --git a/net/core/net-sysfs.c b/net/core/net-sysfs.c
index ada065fc685e..0a95bcf64cdc 100644
--- a/net/core/net-sysfs.c
+++ b/net/core/net-sysfs.c
@@ -656,24 +656,6 @@ static const struct attribute_group wireless_group = {
#define net_class_groups NULL
#endif /* CONFIG_SYSFS */
-static void net_ns_get_ownership(const struct net *net,
- kuid_t *uid, kgid_t *gid)
-{
- if (net) {
- kuid_t ns_root_uid = make_kuid(net->user_ns, 0);
- kgid_t ns_root_gid = make_kgid(net->user_ns, 0);
-
- if (uid_valid(ns_root_uid))
- *uid = ns_root_uid;
-
- if (gid_valid(ns_root_gid))
- *gid = ns_root_gid;
- } else {
- *uid = GLOBAL_ROOT_UID;
- *gid = GLOBAL_ROOT_GID;
- }
-}
-
#ifdef CONFIG_SYSFS
#define to_rx_queue_attr(_attr) \
container_of(_attr, struct rx_queue_attribute, attr)