Found by Linux Verification Center (linuxtesting.org) with SVACE.

Signed-off-by: Alexander Sapozhnikov <[email protected]>
---
 net/bridge/br_vlan.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/bridge/br_vlan.c b/net/bridge/br_vlan.c
index bc75fa1e4666..87091e270adf 100644
--- a/net/bridge/br_vlan.c
+++ b/net/bridge/br_vlan.c
@@ -417,7 +417,8 @@ static int __vlan_del(struct net_bridge_vlan *v)
                rhashtable_remove_fast(&vg->vlan_hash, &v->vnode,
                                       br_vlan_rht_params);
                __vlan_del_list(v);
-               nbp_vlan_set_vlan_dev_state(p, v->vid);
+               if (p)
+                       nbp_vlan_set_vlan_dev_state(p, v->vid);
                br_multicast_toggle_one_vlan(v, false);
                br_multicast_port_ctx_deinit(&v->port_mcast_ctx);
                call_rcu(&v->rcu, nbp_vlan_rcu_free);
-- 
2.34.1

Reply via email to