net: bridge: mst: Restrict info size queries to bridge ports
authorTobias Waldekranz <tobias@waldekranz.com>
Tue, 22 Mar 2022 13:30:01 +0000 (14:30 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 23 Mar 2022 17:32:44 +0000 (10:32 -0700)
Ensure that no bridge masters are ever considered for MST info
dumping. MST states are only supported on bridge ports, not bridge
masters - which br_mst_info_size relies on.

Fixes: 122c29486e1f ("net: bridge: mst: Support setting and reporting MST port states")
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
Link: https://lore.kernel.org/r/20220322133001.16181-1-tobias@waldekranz.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/bridge/br_netlink.c

index 2044724..200ad05 100644 (file)
@@ -119,7 +119,7 @@ static size_t br_get_link_af_size_filtered(const struct net_device *dev,
        /* Each VLAN is returned in bridge_vlan_info along with flags */
        vinfo_sz += num_vlan_infos * nla_total_size(sizeof(struct bridge_vlan_info));
 
-       if (vg && (filter_mask & RTEXT_FILTER_MST))
+       if (p && vg && (filter_mask & RTEXT_FILTER_MST))
                vinfo_sz += br_mst_info_size(vg);
 
        if (!(filter_mask & RTEXT_FILTER_CFM_STATUS))