net: bridge: Set strict_start_type at two policies
authorPetr Machata <petrm@nvidia.com>
Thu, 2 Feb 2023 17:59:19 +0000 (18:59 +0100)
committerDavid S. Miller <davem@davemloft.net>
Mon, 6 Feb 2023 08:48:25 +0000 (08:48 +0000)
Make any attributes newly-added to br_port_policy or vlan_tunnel_policy
parsed strictly, to prevent userspace from passing garbage. Note that this
patchset only touches the former policy. The latter was adjusted for
completeness' sake. There do not appear to be other _deprecated calls
with non-NULL policies.

Suggested-by: Ido Schimmel <idosch@nvidia.com>
Signed-off-by: Petr Machata <petrm@nvidia.com>
Reviewed-by: Ido Schimmel <idosch@nvidia.com>
Acked-by: Nikolay Aleksandrov <razor@blackwall.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_netlink.c
net/bridge/br_netlink_tunnel.c

index 4316cc8..a6133d4 100644 (file)
@@ -858,6 +858,8 @@ static int br_afspec(struct net_bridge *br,
 }
 
 static const struct nla_policy br_port_policy[IFLA_BRPORT_MAX + 1] = {
+       [IFLA_BRPORT_UNSPEC]    = { .strict_start_type =
+                                       IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT + 1 },
        [IFLA_BRPORT_STATE]     = { .type = NLA_U8 },
        [IFLA_BRPORT_COST]      = { .type = NLA_U32 },
        [IFLA_BRPORT_PRIORITY]  = { .type = NLA_U16 },
index 8914290..17abf09 100644 (file)
@@ -188,6 +188,9 @@ initvars:
 }
 
 static const struct nla_policy vlan_tunnel_policy[IFLA_BRIDGE_VLAN_TUNNEL_MAX + 1] = {
+       [IFLA_BRIDGE_VLAN_TUNNEL_UNSPEC] = {
+               .strict_start_type = IFLA_BRIDGE_VLAN_TUNNEL_FLAGS + 1
+       },
        [IFLA_BRIDGE_VLAN_TUNNEL_ID] = { .type = NLA_U32 },
        [IFLA_BRIDGE_VLAN_TUNNEL_VID] = { .type = NLA_U16 },
        [IFLA_BRIDGE_VLAN_TUNNEL_FLAGS] = { .type = NLA_U16 },