lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <565e72d78de80b2db767d172691bb4b682c6f4fd.1612893026.git.petrm@nvidia.com>
Date:   Tue, 9 Feb 2021 18:52:04 +0100
From:   Petr Machata <petrm@...dia.com>
To:     <netdev@...r.kernel.org>
CC:     Petr Machata <petrm@...dia.com>,
        Jian Yang <jianyang.kernel@...il.com>, <davem@...emloft.net>,
        Mahesh Bandewar <maheshb@...gle.com>,
        Jian Yang <jianyang@...gle.com>
Subject: [PATCH net-next] Revert "net-loopback: set lo dev initial state to UP"

In commit c9dca822c729 ("net-loopback: set lo dev initial state to UP"),
linux started automatically bringing up the loopback device of a newly
created namespace. However, an existing user script might reasonably have
the following stanza when creating a new namespace -- and in fact at least
tools/testing/selftests/net/fib_nexthops.sh in Linux's very own testsuite
does:

 # set -e
 # ip netns add foo
 # ip -netns foo addr add 127.0.0.1/8 dev lo
 # ip -netns foo link set lo up
 # set +e

This will now fail, because the kernel reasonably rejects "ip addr add" of
a duplicate address. The described change of behavior therefore constitutes
a breakage. Revert it.

Fixes: c9dca822c729 ("net-loopback: set lo dev initial state to UP")
Signed-off-by: Petr Machata <petrm@...dia.com>
---
 drivers/net/loopback.c | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c
index 24487ec17f8b..a1c77cc00416 100644
--- a/drivers/net/loopback.c
+++ b/drivers/net/loopback.c
@@ -219,12 +219,6 @@ static __net_init int loopback_net_init(struct net *net)
 
 	BUG_ON(dev->ifindex != LOOPBACK_IFINDEX);
 	net->loopback_dev = dev;
-
-	/* bring loopback device UP */
-	rtnl_lock();
-	dev_open(dev, NULL);
-	rtnl_unlock();
-
 	return 0;
 
 out_free_netdev:
-- 
2.26.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ