]> 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)
commitcf44d60cc82cf42a8c414423b307322ce1c6567b
treebd3980a02a9896a5a1d60936b451ce40efc44349
parentfdd9cd7e43ff7fa0d046c8263e9a31f796b1de17
parent8e139b074941faf09bf1f2d02f1d501e8ac8f38b
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>