[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1320315005.3950.37.camel@jlt3.sipsolutions.net>
Date: Thu, 03 Nov 2011 11:10:05 +0100
From: Johannes Berg <johannes@...solutions.net>
To: netdev <netdev@...r.kernel.org>
Cc: Thomas Graf <tgraf@...g.ch>
Subject: [PATCH] netlink: clarify attribute length check documentation
From: Johannes Berg <johannes.berg@...el.com>
The documentation for how the length of attributes
is checked is wrong ("Exact length" isn't true, the
policy checks are for "minimum length") and a bit
misleading. Make it more complete and explain what
really happens.
Cc: Thomas Graf <tgraf@...g.ch>
Signed-off-by: Johannes Berg <johannes.berg@...el.com>
---
include/net/netlink.h | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
--- a/include/net/netlink.h 2011-11-03 09:26:05.000000000 +0100
+++ b/include/net/netlink.h 2011-11-03 11:01:22.000000000 +0100
@@ -192,8 +192,15 @@ enum {
* NLA_NUL_STRING Maximum length of string (excluding NUL)
* NLA_FLAG Unused
* NLA_BINARY Maximum length of attribute payload
- * NLA_NESTED_COMPAT Exact length of structure payload
- * All other Exact length of attribute payload
+ * NLA_NESTED Don't use `len' field -- length verification is
+ * done by checking len of nested header (or empty)
+ * NLA_NESTED_COMPAT Minimum length of structure payload
+ * NLA_U8, NLA_U16,
+ * NLA_U32, NLA_U64,
+ * NLA_MSECS Leaving the length field zero will verify the
+ * given type fits, using it verifies minimum length
+ * just like "All other"
+ * All other Minimum length of attribute payload
*
* Example:
* static const struct nla_policy my_policy[ATTR_MAX+1] = {
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists