netlink: consistently use NLA_POLICY_EXACT_LEN()
authorJohannes Berg <johannes.berg@intel.com>
Tue, 18 Aug 2020 08:17:31 +0000 (10:17 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Aug 2020 19:28:45 +0000 (12:28 -0700)
Change places that open-code NLA_POLICY_EXACT_LEN() to
use the macro instead, giving us flexibility in how we
handle the details of the macro.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Acked-by: Matthieu Baerts <matthieu.baerts@tessares.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireguard/netlink.c
net/bridge/br_netlink.c
net/bridge/br_vlan.c
net/mptcp/pm_netlink.c
net/sched/act_ct.c
net/sched/act_ctinfo.c
net/sched/act_gate.c
net/wireless/nl80211.c

index 20a4f3c..0e6c6eb 100644 (file)
@@ -22,8 +22,8 @@ static struct genl_family genl_family;
 static const struct nla_policy device_policy[WGDEVICE_A_MAX + 1] = {
        [WGDEVICE_A_IFINDEX]            = { .type = NLA_U32 },
        [WGDEVICE_A_IFNAME]             = { .type = NLA_NUL_STRING, .len = IFNAMSIZ - 1 },
-       [WGDEVICE_A_PRIVATE_KEY]        = { .type = NLA_EXACT_LEN, .len = NOISE_PUBLIC_KEY_LEN },
-       [WGDEVICE_A_PUBLIC_KEY]         = { .type = NLA_EXACT_LEN, .len = NOISE_PUBLIC_KEY_LEN },
+       [WGDEVICE_A_PRIVATE_KEY]        = NLA_POLICY_EXACT_LEN(NOISE_PUBLIC_KEY_LEN),
+       [WGDEVICE_A_PUBLIC_KEY]         = NLA_POLICY_EXACT_LEN(NOISE_PUBLIC_KEY_LEN),
        [WGDEVICE_A_FLAGS]              = { .type = NLA_U32 },
        [WGDEVICE_A_LISTEN_PORT]        = { .type = NLA_U16 },
        [WGDEVICE_A_FWMARK]             = { .type = NLA_U32 },
@@ -31,12 +31,12 @@ static const struct nla_policy device_policy[WGDEVICE_A_MAX + 1] = {
 };
 
 static const struct nla_policy peer_policy[WGPEER_A_MAX + 1] = {
-       [WGPEER_A_PUBLIC_KEY]                           = { .type = NLA_EXACT_LEN, .len = NOISE_PUBLIC_KEY_LEN },
-       [WGPEER_A_PRESHARED_KEY]                        = { .type = NLA_EXACT_LEN, .len = NOISE_SYMMETRIC_KEY_LEN },
+       [WGPEER_A_PUBLIC_KEY]                           = NLA_POLICY_EXACT_LEN(NOISE_PUBLIC_KEY_LEN),
+       [WGPEER_A_PRESHARED_KEY]                        = NLA_POLICY_EXACT_LEN(NOISE_SYMMETRIC_KEY_LEN),
        [WGPEER_A_FLAGS]                                = { .type = NLA_U32 },
        [WGPEER_A_ENDPOINT]                             = { .type = NLA_MIN_LEN, .len = sizeof(struct sockaddr) },
        [WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL]        = { .type = NLA_U16 },
-       [WGPEER_A_LAST_HANDSHAKE_TIME]                  = { .type = NLA_EXACT_LEN, .len = sizeof(struct __kernel_timespec) },
+       [WGPEER_A_LAST_HANDSHAKE_TIME]                  = NLA_POLICY_EXACT_LEN(sizeof(struct __kernel_timespec)),
        [WGPEER_A_RX_BYTES]                             = { .type = NLA_U64 },
        [WGPEER_A_TX_BYTES]                             = { .type = NLA_U64 },
        [WGPEER_A_ALLOWEDIPS]                           = { .type = NLA_NESTED },
index 147d525..8a71c60 100644 (file)
@@ -1095,8 +1095,8 @@ static const struct nla_policy br_policy[IFLA_BR_MAX + 1] = {
        [IFLA_BR_MCAST_IGMP_VERSION] = { .type = NLA_U8 },
        [IFLA_BR_MCAST_MLD_VERSION] = { .type = NLA_U8 },
        [IFLA_BR_VLAN_STATS_PER_PORT] = { .type = NLA_U8 },
-       [IFLA_BR_MULTI_BOOLOPT] = { .type = NLA_EXACT_LEN,
-                                   .len = sizeof(struct br_boolopt_multi) },
+       [IFLA_BR_MULTI_BOOLOPT] =
+               NLA_POLICY_EXACT_LEN(sizeof(struct br_boolopt_multi)),
 };
 
 static int br_changelink(struct net_device *brdev, struct nlattr *tb[],
index f9092c7..d2b8737 100644 (file)
@@ -1884,8 +1884,8 @@ out_err:
 }
 
 static const struct nla_policy br_vlan_db_policy[BRIDGE_VLANDB_ENTRY_MAX + 1] = {
-       [BRIDGE_VLANDB_ENTRY_INFO]      = { .type = NLA_EXACT_LEN,
-                                           .len = sizeof(struct bridge_vlan_info) },
+       [BRIDGE_VLANDB_ENTRY_INFO]      =
+               NLA_POLICY_EXACT_LEN(sizeof(struct bridge_vlan_info)),
        [BRIDGE_VLANDB_ENTRY_RANGE]     = { .type = NLA_U16 },
        [BRIDGE_VLANDB_ENTRY_STATE]     = { .type = NLA_U8 },
        [BRIDGE_VLANDB_ENTRY_TUNNEL_INFO] = { .type = NLA_NESTED },
index c8820c4..2c208d2 100644 (file)
@@ -384,8 +384,8 @@ mptcp_pm_addr_policy[MPTCP_PM_ADDR_ATTR_MAX + 1] = {
        [MPTCP_PM_ADDR_ATTR_FAMILY]     = { .type       = NLA_U16,      },
        [MPTCP_PM_ADDR_ATTR_ID]         = { .type       = NLA_U8,       },
        [MPTCP_PM_ADDR_ATTR_ADDR4]      = { .type       = NLA_U32,      },
-       [MPTCP_PM_ADDR_ATTR_ADDR6]      = { .type       = NLA_EXACT_LEN,
-                                           .len   = sizeof(struct in6_addr), },
+       [MPTCP_PM_ADDR_ATTR_ADDR6]      =
+               NLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)),
        [MPTCP_PM_ADDR_ATTR_PORT]       = { .type       = NLA_U16       },
        [MPTCP_PM_ADDR_ATTR_FLAGS]      = { .type       = NLA_U32       },
        [MPTCP_PM_ADDR_ATTR_IF_IDX]     = { .type       = NLA_S32       },
index e6ad42b..db25a0d 100644 (file)
@@ -1039,7 +1039,7 @@ drop:
 
 static const struct nla_policy ct_policy[TCA_CT_MAX + 1] = {
        [TCA_CT_ACTION] = { .type = NLA_U16 },
-       [TCA_CT_PARMS] = { .type = NLA_EXACT_LEN, .len = sizeof(struct tc_ct) },
+       [TCA_CT_PARMS] = NLA_POLICY_EXACT_LEN(sizeof(struct tc_ct)),
        [TCA_CT_ZONE] = { .type = NLA_U16 },
        [TCA_CT_MARK] = { .type = NLA_U32 },
        [TCA_CT_MARK_MASK] = { .type = NLA_U32 },
@@ -1049,10 +1049,8 @@ static const struct nla_policy ct_policy[TCA_CT_MAX + 1] = {
                                 .len = 128 / BITS_PER_BYTE },
        [TCA_CT_NAT_IPV4_MIN] = { .type = NLA_U32 },
        [TCA_CT_NAT_IPV4_MAX] = { .type = NLA_U32 },
-       [TCA_CT_NAT_IPV6_MIN] = { .type = NLA_EXACT_LEN,
-                                 .len = sizeof(struct in6_addr) },
-       [TCA_CT_NAT_IPV6_MAX] = { .type = NLA_EXACT_LEN,
-                                  .len = sizeof(struct in6_addr) },
+       [TCA_CT_NAT_IPV6_MIN] = NLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)),
+       [TCA_CT_NAT_IPV6_MAX] = NLA_POLICY_EXACT_LEN(sizeof(struct in6_addr)),
        [TCA_CT_NAT_PORT_MIN] = { .type = NLA_U16 },
        [TCA_CT_NAT_PORT_MAX] = { .type = NLA_U16 },
 };
index b5042f3..e88fa19 100644 (file)
@@ -144,9 +144,8 @@ out:
 }
 
 static const struct nla_policy ctinfo_policy[TCA_CTINFO_MAX + 1] = {
-       [TCA_CTINFO_ACT]                  = { .type = NLA_EXACT_LEN,
-                                             .len = sizeof(struct
-                                                           tc_ctinfo) },
+       [TCA_CTINFO_ACT]                  =
+               NLA_POLICY_EXACT_LEN(sizeof(struct tc_ctinfo)),
        [TCA_CTINFO_ZONE]                 = { .type = NLA_U16 },
        [TCA_CTINFO_PARMS_DSCP_MASK]      = { .type = NLA_U32 },
        [TCA_CTINFO_PARMS_DSCP_STATEMASK] = { .type = NLA_U32 },
index 1fb8d42..f5dd4d1 100644 (file)
@@ -159,8 +159,8 @@ static const struct nla_policy entry_policy[TCA_GATE_ENTRY_MAX + 1] = {
 };
 
 static const struct nla_policy gate_policy[TCA_GATE_MAX + 1] = {
-       [TCA_GATE_PARMS]                = { .len = sizeof(struct tc_gate),
-                                           .type = NLA_EXACT_LEN },
+       [TCA_GATE_PARMS]                =
+               NLA_POLICY_EXACT_LEN(sizeof(struct tc_gate)),
        [TCA_GATE_PRIORITY]             = { .type = NLA_S32 },
        [TCA_GATE_ENTRY_LIST]           = { .type = NLA_NESTED },
        [TCA_GATE_BASE_TIME]            = { .type = NLA_U64 },
index c04fc6c..a793b74 100644 (file)
@@ -654,10 +654,8 @@ static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = {
        [NL80211_ATTR_RECEIVE_MULTICAST] = { .type = NLA_FLAG },
        [NL80211_ATTR_WIPHY_FREQ_OFFSET] = NLA_POLICY_RANGE(NLA_U32, 0, 999),
        [NL80211_ATTR_SCAN_FREQ_KHZ] = { .type = NLA_NESTED },
-       [NL80211_ATTR_HE_6GHZ_CAPABILITY] = {
-               .type = NLA_EXACT_LEN,
-               .len = sizeof(struct ieee80211_he_6ghz_capa),
-       },
+       [NL80211_ATTR_HE_6GHZ_CAPABILITY] =
+               NLA_POLICY_EXACT_LEN(sizeof(struct ieee80211_he_6ghz_capa)),
 };
 
 /* policy for the key attributes */