]> git.baikalelectronics.ru Git - kernel.git/commit
Merge branch 'netlink-extended-attribute-validation'
authorDavid S. Miller <davem@davemloft.net>
Tue, 2 Oct 2018 06:05:32 +0000 (23:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 2 Oct 2018 06:05:32 +0000 (23:05 -0700)
commit7355f4da44bc2bee26abbaec5db77dbf4fbace63
treebd3980a02a9896a5a1d60936b451ce40efc44349
parente9e4fc6d349781d38d0a0b5b3c61b3db44fb4211
parent95768b239dfbe7c37007f7e3f025e17155a84dcf
Merge branch 'netlink-extended-attribute-validation'

Johannes Berg says:

====================
netlink: extended attribute validation

This adds further netlink attribute validation:
 * min/max/range validation
 * validation through a custom function pointer

This is useful to
 * reduce boilerplate code in command handling code, if attributes
   are used commonly across different commands
 * get more extended ACK error messages/attribute pointers
 * ensure attributes are valid even when ignored
   (though this might be a problem when converting existing code)

Changes since v1:
 * split off validate_type from type and use that for min/max/range
   and function; this is better because the range is limited to the
   range of s16 and so things like "u16 with minimum value 1" couldn't
   be expressed earlier
 * add macros for this, e.g. NLA_POLICY_MIN(NLA_U16, 1) for the case
   mentioned in the previous bullet

Using this pretty much in all places where applicable in nl80211
reduces the code size there by about 1.8KiB, with just a minimal
code increase in lib/nlattr.o.
====================

Signed-off-by: David S. Miller <davem@davemloft.net>