On Mon,  8 Apr 2024 11:44:27 +0800 Heng Qi wrote:
> +     nla_for_each_nested(nest, nests, rem) {
> +             if (WARN_ONCE(nla_type(nest) != 
> ETHTOOL_A_MODERATIONS_MODERATION,
> +                           "unexpected nest attrtype %u\n", nla_type(nest)))

Maybe just use the newly added nla_for_each_nested_type() 

> +                     return;
> +
> +             ret = nla_parse_nested(tb_moder,
> +                                    ARRAY_SIZE(coalesce_set_profile_policy) 
> - 1,
> +                                    nest, coalesce_set_profile_policy,
> +                                    extack);
> +             if (ret ||

if parsing failed it will set the right error and extack, just return
the error

> +                 !tb_moder[ETHTOOL_A_MODERATION_USEC] ||
> +                 !tb_moder[ETHTOOL_A_MODERATION_PKTS] ||
> +                 !tb_moder[ETHTOOL_A_MODERATION_COMPS]) {

If you miss an attr you should use NL_SET_ERR_ATTR_MISS() or such.

> +                     NL_SET_ERR_MSG(extack, "wrong ETHTOOL_A_MODERATION_* 
> attribute\n");

no new line at the end of the exact string

Reply via email to