Skip to contentSkip to conversation

Patch "bridge: Only call /sbin/bridge-stp for the initial network namespace" has been added to the 3.10-stable tree

PATCH [email protected] 1 participant 1 message Jan 27, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

bridge: Only call /sbin/bridge-stp for the initial network namespace

to the 3.10-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
bridge-only-call-sbin-bridge-stp-for-the-initial-network-namespace.patch
and it can be found in the queue-3.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From foo@baz Tue Jan 26 22:24:47 PST 2016

From: Hannes Frederic Sowa <[email protected]>
Date: Tue, 5 Jan 2016 10:46:00 +0100
Subject: bridge: Only call /sbin/bridge-stp for the initial network namespace
Status: RO
Content-Length: 1472
Lines: 42

From: Hannes Frederic Sowa <[email protected]>

[ Upstream commit ff62198553e43cdffa9d539f6165d3e83f8a42bc ]

[I stole this patch from Eric Biederman. He wrote:]

Quoted 8 lines

There is no defined mechanism to pass network namespace information into /sbin/bridge-stp therefore don't even try to invoke it except for bridge devices in the initial network namespace.

It is possible for unprivileged users to cause /sbin/bridge-stp to be invoked for any network device name which if /sbin/bridge-stp does not guard against unreasonable arguments or being invoked twice on the same network device could cause problems.

[Hannes: changed patch using netns_eq]

---
 net/bridge/br_stp_if.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
net/bridge/br_stp_if.c +4 -1
@@ -128,7 +128,10 @@ static void br_stp_start(struct net_brid
 	char *argv[] = { BR_STP_PROG, br->dev->name, "start", NULL };
 	char *envp[] = { NULL };
 
-	r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
+	if (net_eq(dev_net(br->dev), &init_net))
+		r = call_usermodehelper(BR_STP_PROG, argv, envp, UMH_WAIT_PROC);
+	else
+		r = -ENOENT;
 
 	spin_lock_bh(&br->lock);
 

Patches currently in stable-queue which might be from [email protected] are

queue-3.10/bridge-only-call-sbin-bridge-stp-for-the-initial-network-namespace.patch queue-3.10/unix-properly-account-for-fds-passed-over-unix-sockets.patch