]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - net/bridge/br_vlan.c
net: bridge: vlan: fix memory leak in __allowed_ingress
[mirror_ubuntu-jammy-kernel.git] / net / bridge / br_vlan.c
index 06f5caee495aaf403e2af594cda0a51de3fb6970..10e63ea6a13e13864f51a693d95614693e953cd8 100644 (file)
@@ -560,10 +560,10 @@ static bool __allowed_ingress(const struct net_bridge *br,
                    !br_opt_get(br, BROPT_VLAN_STATS_ENABLED)) {
                        if (*state == BR_STATE_FORWARDING) {
                                *state = br_vlan_get_pvid_state(vg);
-                               return br_vlan_state_allowed(*state, true);
-                       } else {
-                               return true;
+                               if (!br_vlan_state_allowed(*state, true))
+                                       goto drop;
                        }
+                       return true;
                }
        }
        v = br_vlan_find(vg, *vid);