]> git.baikalelectronics.ru Git - kernel.git/commit
netlink: add nested array policy validation
authorJohannes Berg <johannes.berg@intel.com>
Wed, 26 Sep 2018 09:15:34 +0000 (11:15 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Sep 2018 17:24:39 +0000 (10:24 -0700)
commit5c1d62fbc9cb5a24b1b37fbd9f498b636b0a6182
tree8cce360cee760f94af43ef1c236cdbbbbf57a4d3
parentd71a3e1a2ce3d7bc19fc9ec35038fc209fc35d86
netlink: add nested array policy validation

Sometimes nested netlink attributes are just used as arrays, with
the nla_type() of each not being used; we have this in nl80211 and
e.g. NFTA_SET_ELEM_LIST_ELEMENTS.

Add the ability to validate this type of message directly in the
policy, by adding the type NLA_NESTED_ARRAY which does exactly
this: require a first level of nesting but ignore the attribute
type, and then inside each require a second level of nested and
validate those attributes against a given policy (if present).

Note that some nested array types actually require that all of
the entries have the same index, this is possible to express in
a nested policy already, apart from the validation that only the
one allowed type is used.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/netlink.h
lib/nlattr.c