Re: [PATCH net 2/2] net: enhance error message for 'netns local' iface
From: Andrew Lunn <andrew@lunn.ch>
Date: 2025-02-06 23:02:42
On Thu, Feb 06, 2025 at 05:50:27PM +0100, Nicolas Dichtel wrote:
quoted hunk ↗ jump to hunk
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");
This seems to have the wrong order. Why even try calling __dev_change_net_namespace() if you know it is going to fail? Maybe this NL_SET_ERR_MSG() should be pushed into __dev_change_net_namespace()? You could then return useful messages if the altnames conflict, the ifindex is already in use, etc. Andrew