From: Sabrina Dubroca Date: Tue, 26 Aug 2025 13:16:20 +0000 (+0200) Subject: macsec: replace custom checks on MACSEC_*_ATTR_ACTIVE with NLA_POLICY_MAX X-Git-Tag: v6.18-rc1~132^2~316^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ae6a8f5abed1675c62f3730bb675d2e544ea9a43;p=thirdparty%2Fkernel%2Fstable.git macsec: replace custom checks on MACSEC_*_ATTR_ACTIVE with NLA_POLICY_MAX Signed-off-by: Sabrina Dubroca Reviewed-by: Simon Horman Link: https://patch.msgid.link/2b07434304c725c72a7d81a8460d0bbe8af384a2.1756202772.git.sd@queasysnail.net Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/macsec.c b/drivers/net/macsec.c index 96ca1b00438fa..7386335cc0381 100644 --- a/drivers/net/macsec.c +++ b/drivers/net/macsec.c @@ -1665,12 +1665,12 @@ static const struct nla_policy macsec_genl_policy[NUM_MACSEC_ATTR] = { static const struct nla_policy macsec_genl_rxsc_policy[NUM_MACSEC_RXSC_ATTR] = { [MACSEC_RXSC_ATTR_SCI] = { .type = NLA_U64 }, - [MACSEC_RXSC_ATTR_ACTIVE] = { .type = NLA_U8 }, + [MACSEC_RXSC_ATTR_ACTIVE] = NLA_POLICY_MAX(NLA_U8, 1), }; static const struct nla_policy macsec_genl_sa_policy[NUM_MACSEC_SA_ATTR] = { [MACSEC_SA_ATTR_AN] = NLA_POLICY_MAX(NLA_U8, MACSEC_NUM_AN - 1), - [MACSEC_SA_ATTR_ACTIVE] = { .type = NLA_U8 }, + [MACSEC_SA_ATTR_ACTIVE] = NLA_POLICY_MAX(NLA_U8, 1), [MACSEC_SA_ATTR_PN] = NLA_POLICY_MIN_LEN(4), [MACSEC_SA_ATTR_KEYID] = { .type = NLA_BINARY, .len = MACSEC_KEYID_LEN, }, @@ -1734,16 +1734,10 @@ static bool validate_add_rxsa(struct nlattr **attrs) !attrs[MACSEC_SA_ATTR_KEYID]) return false; - if (attrs[MACSEC_SA_ATTR_PN] && nla_get_u64(attrs[MACSEC_SA_ATTR_PN]) == 0) return false; - if (attrs[MACSEC_SA_ATTR_ACTIVE]) { - if (nla_get_u8(attrs[MACSEC_SA_ATTR_ACTIVE]) > 1) - return false; - } - if (nla_len(attrs[MACSEC_SA_ATTR_KEYID]) != MACSEC_KEYID_LEN) return false; @@ -1893,11 +1887,6 @@ static bool validate_add_rxsc(struct nlattr **attrs) if (!attrs[MACSEC_RXSC_ATTR_SCI]) return false; - if (attrs[MACSEC_RXSC_ATTR_ACTIVE]) { - if (nla_get_u8(attrs[MACSEC_RXSC_ATTR_ACTIVE]) > 1) - return false; - } - return true; } @@ -1980,11 +1969,6 @@ static bool validate_add_txsa(struct nlattr **attrs) if (nla_get_u64(attrs[MACSEC_SA_ATTR_PN]) == 0) return false; - if (attrs[MACSEC_SA_ATTR_ACTIVE]) { - if (nla_get_u8(attrs[MACSEC_SA_ATTR_ACTIVE]) > 1) - return false; - } - if (nla_len(attrs[MACSEC_SA_ATTR_KEYID]) != MACSEC_KEYID_LEN) return false; @@ -2332,11 +2316,6 @@ static bool validate_upd_sa(struct nlattr **attrs) if (attrs[MACSEC_SA_ATTR_PN] && nla_get_u64(attrs[MACSEC_SA_ATTR_PN]) == 0) return false; - if (attrs[MACSEC_SA_ATTR_ACTIVE]) { - if (nla_get_u8(attrs[MACSEC_SA_ATTR_ACTIVE]) > 1) - return false; - } - return true; }