diff options
author | Tyler Hicks <tyhicks@canonical.com> | 2018-07-21 00:56:53 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-21 09:44:36 +0300 |
commit | fbdeaed408cf2728c62640c10848ddb1b67e63d3 (patch) | |
tree | 4c06f4a43d4516e7f1f83db877f4f4c49b01077f /net/core/net-sysfs.c | |
parent | b0e37c0d8a6abed0cd1b611314a7ebf50b0a8ed4 (diff) | |
download | linux-fbdeaed408cf2728c62640c10848ddb1b67e63d3.tar.xz |
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.c | 18 |
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) |