Messages in this thread Patch in this message | | | From | Christian Brauner <> | Subject | [PATCH net-next 10/10] net: fix sysfs permssions when device changes network namespace | Date | Wed, 12 Feb 2020 11:43:21 +0100 |
| |
Now that we moved all the helpers in place and make use netdev_change_owner() to fixup the permissions when moving network devices between network namespaces.
Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com> --- net/core/dev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c index a69e8bd7ed74..e463539f0b1d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c @@ -10017,6 +10017,7 @@ EXPORT_SYMBOL(unregister_netdev); int dev_change_net_namespace(struct net_device *dev, struct net *net, const char *pat) { int err, new_nsid, new_ifindex; + struct net *net_old = dev_net(dev); ASSERT_RTNL(); @@ -10031,7 +10032,7 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char /* Get out if there is nothing todo */ err = 0; - if (net_eq(dev_net(dev), net)) + if (net_eq(net_old, net)) goto out; /* Pick the destination device name, and ensure @@ -10107,6 +10108,12 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char err = device_rename(&dev->dev, dev->name); WARN_ON(err); + /* Adapt owner in case owning user namespace of target network + * namespace is different from the original one. + */ + err = netdev_change_owner(dev, net_old, net); + WARN_ON(err); + /* Add the device back in the hashes */ list_netdevice(dev); -- 2.25.0
| |