diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 6a362da211e1b45aa5e7b94a8085217ab707023f..3504c3acd38f66385e1a64e17d7de8543be94805 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -1791,7 +1791,9 @@ static void br_multicast_pim(struct net_bridge *br, pim_hdr_type(pimhdr) != PIM_TYPE_HELLO) return; + spin_lock(&br->multicast_lock); br_multicast_mark_router(br, port); + spin_unlock(&br->multicast_lock); } static int br_multicast_ipv4_rcv(struct net_bridge *br,