The current message is "Invalid argument". Let's help the user by
explaining the error.
Signed-off-by: Nicolas Dichtel <redacted>
---
net/core/rtnetlink.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
index 5032e65b8faa..91b358bdfe5c 100644
--- a/net/core/rtnetlink.c
+++ b/net/core/rtnetlink.c
@@ -3024,8 +3024,12 @@ static int do_setlink(const struct sk_buff *skb, struct net_device *dev,
new_ifindex = nla_get_s32_default(tb[IFLA_NEW_IFINDEX], 0);
err = __dev_change_net_namespace(dev, tgt_net, pat, new_ifindex);
- if (err)
+ if (err) {
+ if (dev->netns_local)
+ NL_SET_ERR_MSG(extack,
+ "The interface has the 'netns local' property");
goto errout;
+ }
status |= DO_SETLINK_MODIFIED;
}--
2.47.1