[PATCH] rtnetlink: wire up rtnl_net_debug_exit

From: Arnd Bergmann
Date: Tue Oct 15 2024 - 11:11:00 EST


From: Arnd Bergmann <arnd@xxxxxxxx>

The function is never called, but causes a build warning:

net/core/rtnl_net_debug.c:125:20: error: 'rtnl_net_debug_exit' defined but not used [-Werror=unused-function]
125 | static void __exit rtnl_net_debug_exit(void)
| ^~~~~~~~~~~~~~~~~~~
WARNING: modpost: vmlinux: section mismatch in reference: rtnl_net_debug_exit+0x1c (section: .exit.text) -> rtnl_net_debug_net_ops (section: .init.data)

Use this as the exitcall as was clearly intended and remove the __net_initdata
annotation on rtnl_net_debug_net_ops to ensure the structure remains there.

Fixes: 03fa53485659 ("rtnetlink: Add ASSERT_RTNL_NET() placeholder for netdev notifier.")
Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
---
net/core/rtnl_net_debug.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/core/rtnl_net_debug.c b/net/core/rtnl_net_debug.c
index e90a32242e22..efb8a5bc9ee4 100644
--- a/net/core/rtnl_net_debug.c
+++ b/net/core/rtnl_net_debug.c
@@ -96,7 +96,7 @@ static void __net_exit rtnl_net_debug_net_exit(struct net *net)
unregister_netdevice_notifier_net(net, nb);
}

-static struct pernet_operations rtnl_net_debug_net_ops __net_initdata = {
+static struct pernet_operations rtnl_net_debug_net_ops = {
.init = rtnl_net_debug_net_init,
.exit = rtnl_net_debug_net_exit,
.id = &rtnl_net_debug_net_id,
@@ -121,11 +121,11 @@ static int __init rtnl_net_debug_init(void)

return ret;
}
+subsys_initcall(rtnl_net_debug_init);

static void __exit rtnl_net_debug_exit(void)
{
unregister_netdevice_notifier(&rtnl_net_debug_block);
unregister_pernet_device(&rtnl_net_debug_net_ops);
}
-
-subsys_initcall(rtnl_net_debug_init);
+module_exit(rtnl_net_debug_exit);
--
2.39.5