From 3d51928a882b768581e79c0ef04b63e196d5ef4c Mon Sep 17 00:00:00 2001 From: Kuniyuki Iwashima Date: Thu, 1 Oct 2026 20:47:14 +0000 Subject: [PATCH] ipv4: Inline inet_blackhole_dev_init() to devinet_init(). Commit 22600596b675 ("ipv4: give an IPv4 dev to blackhole_netdev") started to allocate in_device for blackhole_netdev. It used late_initcall() because blackhole_netdev was allocated at device_initcall(). Now, it is allocated before inet_init(), and we no longer need to use late_initcall(). Let's inline inet_blackhole_dev_init() to devinet_init(). Signed-off-by: Kuniyuki Iwashima Reviewed-by: Ido Schimmel Tested-by: Chris J Arges Link: https://patch.msgid.link/20261001204752.2572265-3-kuniyu@google.com Signed-off-by: Jakub Kicinski --- net/ipv4/devinet.c | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index e84d3cf92247..2ed4c706ca9e 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -340,18 +340,6 @@ static void inetdev_destroy(struct in_device *in_dev) in_dev_put(in_dev); } -static int __init inet_blackhole_dev_init(void) -{ - struct in_device *in_dev; - - rtnl_lock(); - in_dev = inetdev_init(blackhole_netdev); - rtnl_unlock(); - - return PTR_ERR_OR_ZERO(in_dev); -} -late_initcall(inet_blackhole_dev_init); - int inet_addr_onlink(struct in_device *in_dev, __be32 a, __be32 b) { const struct in_ifaddr *ifa; @@ -2974,4 +2962,9 @@ void __init devinet_init(void) panic("Unable to register inet_af_ops\n"); rtnl_register_many(devinet_rtnl_msg_handlers); + + rtnl_lock(); + if (IS_ERR(inetdev_init(blackhole_netdev))) + panic("IP: failed to allocate in_device for blackhole_netdev\n"); + rtnl_unlock(); }