Skip to contentSkip to conversation

FAILED: patch "[PATCH] net: bridge: multicast: fix PIM hello router port marking" failed to apply to 5.12-stable tree

PATCH [email protected] 1 participant 1 message Jul 19, 2021

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 5.12-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 04bef83a3358946bfc98a5ecebd1b0003d83d882 Mon Sep 17 00:00:00 2001
From: Nikolay Aleksandrov <[email protected]>
Date: Sun, 11 Jul 2021 12:56:28 +0300
Subject: [PATCH] net: bridge: multicast: fix PIM hello router port marking
race

When a PIM hello packet is received on a bridge port with multicast snooping enabled, we mark it as a router port automatically, that includes adding that port the router port list. The multicast lock protects that list, but it is not acquired in the PIM message case leading to a race condition, we need to take it to fix the race.

Fixes 91b02d3d133b ("bridge: mcast: add router port on PIM hello message")
net/bridge/br_multicast.c +2 -0
index 53c3a9d80d9c..3bbbc6d7b7c3 100644
@@ -3264,7 +3264,9 @@ static void br_multicast_pim(struct net_bridge *br,
 	    pim_hdr_type(pimhdr) != PIM_TYPE_HELLO)
 		return;
 
+	spin_lock(&br->multicast_lock);
 	br_ip4_multicast_mark_router(br, port);
+	spin_unlock(&br->multicast_lock);
 }
 
 static int br_ip4_multicast_mrd_rcv(struct net_bridge *br,