net: introduce nla_policy for IFLA_NEW_IFINDEX
authorAndrei Vagin <avagin@gmail.com>
Wed, 7 Apr 2021 06:40:03 +0000 (23:40 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 7 Apr 2021 21:42:12 +0000 (14:42 -0700)
In this case, we don't need to check that new_ifindex is positive in
validate_linkmsg.

Fixes: eeb85a14ee34 ("net: Allow to specify ifindex when device is moved to another namespace")
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Andrei Vagin <avagin@gmail.com>
Acked-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index d51252a..9108a7e 100644 (file)
@@ -1877,6 +1877,7 @@ static const struct nla_policy ifla_policy[IFLA_MAX+1] = {
                                    .len = ALTIFNAMSIZ - 1 },
        [IFLA_PERM_ADDRESS]     = { .type = NLA_REJECT },
        [IFLA_PROTO_DOWN_REASON] = { .type = NLA_NESTED },
+       [IFLA_NEW_IFINDEX]      = NLA_POLICY_MIN(NLA_S32, 1),
 };
 
 static const struct nla_policy ifla_info_policy[IFLA_INFO_MAX+1] = {
@@ -2266,9 +2267,6 @@ static int validate_linkmsg(struct net_device *dev, struct nlattr *tb[])
                        return -EINVAL;
        }
 
-       if (tb[IFLA_NEW_IFINDEX] && nla_get_s32(tb[IFLA_NEW_IFINDEX]) <= 0)
-               return -EINVAL;
-
        if (tb[IFLA_AF_SPEC]) {
                struct nlattr *af;
                int rem, err;