When link_net is set, use it as link netns instead of dev_net(). This
prepares for rtnetlink core to create device in target netns directly,
in which case the two namespaces may be different.

Signed-off-by: Xiao Liang <[email protected]>
---
 net/ieee802154/6lowpan/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ieee802154/6lowpan/core.c b/net/ieee802154/6lowpan/core.c
index c16c14807d87..65a5c61cf38c 100644
--- a/net/ieee802154/6lowpan/core.c
+++ b/net/ieee802154/6lowpan/core.c
@@ -143,7 +143,8 @@ static int lowpan_newlink(struct rtnl_newlink_params 
*params)
        if (!tb[IFLA_LINK])
                return -EINVAL;
        /* find and hold wpan device */
-       wdev = dev_get_by_index(dev_net(ldev), nla_get_u32(tb[IFLA_LINK]));
+       wdev = dev_get_by_index(params->link_net ? : dev_net(ldev),
+                               nla_get_u32(tb[IFLA_LINK]));
        if (!wdev)
                return -ENODEV;
        if (wdev->type != ARPHRD_IEEE802154) {
-- 
2.47.1

Reply via email to