Subject: Re: [RFC PATCH 1/2] net: netlink: add nla_get_*_default() accessors

From: Jakub Kicinski <[email-masked]>
Date: Tue, 29 Oct 2024 08:54:34 -0700

On Thu, 24 Oct 2024 13:18:06 +0200 Johannes Berg wrote:
> +#define MAKE_NLA_GET_DEFAULT(tp, fn)			\
> +static inline tp fn##_default(const struct nlattr *nla,	\
> +			      tp defvalue)		\
> +{							\
> +	if (!nla)					\
> +		return defvalue;			\
> +	return n(nla);					\
> +}
> +
> +MAKE_NLA_GET_DEFAULT(u8, nla_get_u8);
> +MAKE_NLA_GET_DEFAULT(u16, nla_get_u16);
> +MAKE_NLA_GET_DEFAULT(u32, nla_get_u32);
> +MAKE_NLA_GET_DEFAULT(u64, nla_get_u64);
> +MAKE_NLA_GET_DEFAULT(unsigned long, nla_get_msecs);
> +MAKE_NLA_GET_DEFAULT(s8, nla_get_s8);
> +MAKE_NLA_GET_DEFAULT(s16, nla_get_s16);
> +MAKE_NLA_GET_DEFAULT(s32, nla_get_s32);
> +MAKE_NLA_GET_DEFAULT(s64, nla_get_s64);
> +MAKE_NLA_GET_DEFAULT(s16, nla_get_le16);
> +MAKE_NLA_GET_DEFAULT(s32, nla_get_le32);
> +MAKE_NLA_GET_DEFAULT(s64, nla_get_le64);
> +MAKE_NLA_GET_DEFAULT(s16, nla_get_be16);
> +MAKE_NLA_GET_DEFAULT(s32, nla_get_be32);
> +MAKE_NLA_GET_DEFAULT(s64, nla_get_be64);

I'd vote to just spell out the accessors instead of hinding 
the definitions behind macros. Place them right after the
existing nla_get_* definition to make it more likely people
will notice them.

Either way:

Acked-by: Jakub Kicinski <[email-masked]>