diff options
author | Tyler Hicks <tyhicks@canonical.com> | 2018-07-20 23:56:54 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-07-21 08:44:36 +0200 |
commit | 705e0dea4d52ef420a7d37fd9cc6725092e5e1ff (patch) | |
tree | ecb58544a2cc3dec04f902788b427ee63fef2bd1 /net/bridge/br_sysfs_if.c | |
parent | net: create reusable function for getting ownership info of sysfs inodes (diff) | |
download | linux-705e0dea4d52ef420a7d37fd9cc6725092e5e1ff.tar.xz linux-705e0dea4d52ef420a7d37fd9cc6725092e5e1ff.zip |
bridge: make sure objects belong to container's owner
When creating various bridge objects in /sys/class/net/... make sure
that they belong to the container's owner instead of global root (if
they belong to a container/namespace).
Signed-off-by: Tyler Hicks <tyhicks@canonical.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_sysfs_if.c')
-rw-r--r-- | net/bridge/br_sysfs_if.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/net/bridge/br_sysfs_if.c b/net/bridge/br_sysfs_if.c index f99c5bf5c906..ab4c7f8adf68 100644 --- a/net/bridge/br_sysfs_if.c +++ b/net/bridge/br_sysfs_if.c @@ -249,13 +249,12 @@ static const struct brport_attribute *brport_attrs[] = { }; #define to_brport_attr(_at) container_of(_at, struct brport_attribute, attr) -#define to_brport(obj) container_of(obj, struct net_bridge_port, kobj) static ssize_t brport_show(struct kobject *kobj, struct attribute *attr, char *buf) { struct brport_attribute *brport_attr = to_brport_attr(attr); - struct net_bridge_port *p = to_brport(kobj); + struct net_bridge_port *p = kobj_to_brport(kobj); if (!brport_attr->show) return -EINVAL; @@ -268,7 +267,7 @@ static ssize_t brport_store(struct kobject *kobj, const char *buf, size_t count) { struct brport_attribute *brport_attr = to_brport_attr(attr); - struct net_bridge_port *p = to_brport(kobj); + struct net_bridge_port *p = kobj_to_brport(kobj); ssize_t ret = -EINVAL; char *endp; unsigned long val; |