From: Kuniyuki Iwashima Date: Tue, 14 Jan 2025 08:13:52 +0000 (+0900) Subject: net: loopback: Hold rtnl_net_lock() in blackhole_netdev_init(). X-Git-Tag: v6.14-rc1~162^2~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2248c05340a6aa449efa4b12fca7ce490f32bda9;p=thirdparty%2Fkernel%2Flinux.git net: loopback: Hold rtnl_net_lock() in blackhole_netdev_init(). blackhole_netdev is the global device in init_net. Let's hold rtnl_net_lock(&init_net) in blackhole_netdev_init(). While at it, the unnecessary dev_net_set() call is removed, which is done in alloc_netdev_mqs(). Signed-off-by: Kuniyuki Iwashima Link: https://patch.msgid.link/20250114081352.47404-1-kuniyu@amazon.com Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index 1993b90b1a5f9..c8840c3b9a1bc 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c @@ -264,13 +264,12 @@ static int __init blackhole_netdev_init(void) if (!blackhole_netdev) return -ENOMEM; - rtnl_lock(); + rtnl_net_lock(&init_net); dev_init_scheduler(blackhole_netdev); dev_activate(blackhole_netdev); - rtnl_unlock(); + rtnl_net_unlock(&init_net); blackhole_netdev->flags |= IFF_UP | IFF_RUNNING; - dev_net_set(blackhole_netdev, &init_net); return 0; }