[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20180927092836.6117-1-johannes@sipsolutions.net>
Date: Thu, 27 Sep 2018 11:28:34 +0200
From: Johannes Berg <johannes@...solutions.net>
To: linux-wireless@...r.kernel.org, netdev@...r.kernel.org
Cc: Michal Kubecek <mkubecek@...e.cz>
Subject: [PATCH v2 0/2] 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.
johannes
Powered by blists - more mailing lists