]> 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)
commit46ce6f3b4fbb74e1e5723d01575fa859abc57608
tree8cce360cee760f94af43ef1c236cdbbbbf57a4d3
parentd40af33fb054678b9ff89fe813c0a1ce66629600
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