Re: [PATCH net-next v11 1/4] net netlink: Add new type NLA_BITFIELD_32
From: David Ahern <hidden>
Date: 2017-07-25 14:41:46
From: David Ahern <hidden>
Date: 2017-07-25 14:41:46
On 7/23/17 7:35 PM, Jamal Hadi Salim wrote:
In the most basic form, the user specifies the attribute policy as:
[ATTR_GOO] = { .type = NLA_BITFIELD_32, .validation_data = &myvalidflags },
where myvalidflags is the bit mask of the flags the kernel understands.
If the user _does not_ provide myvalidflags then the attribute will
also be rejected.No other netlink attribute has this requirement. Users of the attributes are the only ones that know if a value is valid or not (e.g, attribute passing a device index) and those are always checked in line. Furthermore, you are locking this attribute into a static meaning of what is a valid value when flags can be valid or invalid based on other attributes passed in the request.