diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 5015ece7adf7a072d8f8bb636dcf9aad44eb7159..9e9a584cf99343b65574ac545431db9f342f5b53 100644 --- a/net/bridge/br_multicast.c +++ b/net/bridge/br_multicast.c @@ -2998,7 +2998,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_ip4_multicast_mrd_rcv(struct net_bridge *br,