On 10/26/23 18:43, Jakub Kicinski wrote:
On Thu, 26 Oct 2023 18:16:59 +0300 Nikolay Aleksandrov wrote:
static const struct nla_policy netkit_policy[IFLA_NETKIT_MAX + 1] = {
[IFLA_NETKIT_PEER_INFO] = { .len = sizeof(struct ifinfomsg) },
- [IFLA_NETKIT_POLICY] = { .type = NLA_U32 },
- [IFLA_NETKIT_MODE] = { .type = NLA_U32 },
- [IFLA_NETKIT_PEER_POLICY] = { .type = NLA_U32 },
+ [IFLA_NETKIT_POLICY] = NLA_POLICY_VALIDATE_FN(NLA_BINARY,
+ netkit_check_policy,
+ sizeof(u32)),
+ [IFLA_NETKIT_MODE] = NLA_POLICY_VALIDATE_FN(NLA_BINARY,
+ netkit_check_mode,
+ sizeof(u32)),
+ [IFLA_NETKIT_PEER_POLICY] = NLA_POLICY_VALIDATE_FN(NLA_BINARY,
+ netkit_check_policy,
+ sizeof(u32)),
I vote to leave this code be. It's not perfect. But typing it as binary
is not getting us closer to perfection.
TBH +1