Browse Source

netlink: make validation_data const

The validation data is only used within the policy that
should usually already be const, and isn't changed in any
code that uses it. Therefore, make the validation_data
pointer const.

While at it, remove the duplicate variable in the bitfield
validation that I'd otherwise have to change to const.

Reviewed-by: David Ahern <dsahern@gmail.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Johannes Berg 6 years ago
parent
commit
48fde90a78
2 changed files with 3 additions and 4 deletions
  1. 1 1
      include/net/netlink.h
  2. 2 3
      lib/nlattr.c

+ 1 - 1
include/net/netlink.h

@@ -237,7 +237,7 @@ enum {
 struct nla_policy {
 struct nla_policy {
 	u16		type;
 	u16		type;
 	u16		len;
 	u16		len;
-	void            *validation_data;
+	const void     *validation_data;
 };
 };
 
 
 #define NLA_POLICY_EXACT_LEN(_len)	{ .type = NLA_EXACT_LEN, .len = _len }
 #define NLA_POLICY_EXACT_LEN(_len)	{ .type = NLA_EXACT_LEN, .len = _len }

+ 2 - 3
lib/nlattr.c

@@ -45,12 +45,11 @@ static const u8 nla_attr_minlen[NLA_TYPE_MAX+1] = {
 };
 };
 
 
 static int validate_nla_bitfield32(const struct nlattr *nla,
 static int validate_nla_bitfield32(const struct nlattr *nla,
-				   u32 *valid_flags_allowed)
+				   const u32 *valid_flags_mask)
 {
 {
 	const struct nla_bitfield32 *bf = nla_data(nla);
 	const struct nla_bitfield32 *bf = nla_data(nla);
-	u32 *valid_flags_mask = valid_flags_allowed;
 
 
-	if (!valid_flags_allowed)
+	if (!valid_flags_mask)
 		return -EINVAL;
 		return -EINVAL;
 
 
 	/*disallow invalid bit selector */
 	/*disallow invalid bit selector */