]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
macsec: validate IFLA_MACSEC_VALIDATION with NLA_POLICY_MAX
authorSabrina Dubroca <sd@queasysnail.net>
Tue, 26 Aug 2025 13:16:29 +0000 (15:16 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 28 Aug 2025 01:34:53 +0000 (18:34 -0700)
Signed-off-by: Sabrina Dubroca <sd@queasysnail.net>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/629efe0b2150b30abc6472074018cbd521b46578.1756202772.git.sd@queasysnail.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/macsec.c

index 5680e4b78dda642e195cfbe4ad81a2d3d7abc35e..dc17b91dce2db23c66b7561dcede714034b46857 100644 (file)
@@ -3772,7 +3772,7 @@ static const struct nla_policy macsec_rtnl_policy[IFLA_MACSEC_MAX + 1] = {
        [IFLA_MACSEC_ES] = { .type = NLA_U8 },
        [IFLA_MACSEC_SCB] = { .type = NLA_U8 },
        [IFLA_MACSEC_REPLAY_PROTECT] = { .type = NLA_U8 },
-       [IFLA_MACSEC_VALIDATION] = { .type = NLA_U8 },
+       [IFLA_MACSEC_VALIDATION] = NLA_POLICY_MAX(NLA_U8, MACSEC_VALIDATE_MAX),
        [IFLA_MACSEC_OFFLOAD] = NLA_POLICY_MAX(NLA_U8, MACSEC_OFFLOAD_MAX),
 };
 
@@ -4288,10 +4288,6 @@ static int macsec_validate_attr(struct nlattr *tb[], struct nlattr *data[],
        if ((sci && (scb || es)) || (scb && es))
                return -EINVAL;
 
-       if (data[IFLA_MACSEC_VALIDATION] &&
-           nla_get_u8(data[IFLA_MACSEC_VALIDATION]) > MACSEC_VALIDATE_MAX)
-               return -EINVAL;
-
        if ((data[IFLA_MACSEC_REPLAY_PROTECT] &&
             nla_get_u8(data[IFLA_MACSEC_REPLAY_PROTECT])) &&
            !data[IFLA_MACSEC_WINDOW])