Subject: Re: [PATCH net-next] Revert "rtnetlink: return EINVAL when request cannot succeed"

From: Guillaume Nault <[email-masked]>
Date: Wed, 20 Apr 2022 16:48:15 +0200

On Tue, Apr 19, 2022 at 02:51:51PM +0200, Florent Fourcot wrote:
> This reverts commit b6177d3240a4
> 
> ip-link command is testing kernel capability by sending a RTM_NEWLINK
> request, without any argument. It accepts everything in reply, except
> EOPNOTSUPP and EINVAL (functions iplink_have_newlink / accept_msg)
> 
> So we must keep compatiblity here, invalid empty message should not
> return EINVAL

"ip link" is currently unusable on net-next without this patch.
Can we please rush this fix in?

Tested-by: Guillaume Nault <[email-masked]>
Fixes: b6177d3240a4 ("rtnetlink: return EINVAL when request cannot succeed")

> Signed-off-by: Florent Fourcot <[email-masked]>
> ---
>  net/core/rtnetlink.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/core/rtnetlink.c b/net/core/rtnetlink.c
> index b943336908a7..73f2cbc440c9 100644
> --- a/net/core/rtnetlink.c
> +++ b/net/core/rtnetlink.c
> @@ -3457,7 +3457,7 @@ static int __rtnl_newlink(struct sk_buff *skb, struct nlmsghdr *nlh,
>  			return rtnl_group_changelink(skb, net,
>  						nla_get_u32(tb[IFLA_GROUP]),
>  						ifm, extack, tb);
> -		return -EINVAL;
> +		return -ENODEV;
>  	}
>  
>  	if (tb[IFLA_MAP] || tb[IFLA_PROTINFO])
> -- 
> 2.30.2
>