net/core/rtnl_net_debug.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
From: Arnd Bergmann <arnd@arndb.de>
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@arndb.de>
---
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
On Tue, Oct 15, 2024 at 5:10 PM Arnd Bergmann <arnd@kernel.org> wrote:
>
> From: Arnd Bergmann <arnd@arndb.de>
>
> 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@arndb.de>
> ---
This was fixed with :
commit bb9df28e6fcda6a96860e7b77f3912ef50e06793
Author: Kuniyuki Iwashima <kuniyu@amazon.com>
Date: Thu Oct 10 10:24:33 2024 -0700
rtnl_net_debug: Remove rtnl_net_debug_exit().
kernel test robot reported section mismatch in rtnl_net_debug_exit().
WARNING: modpost: vmlinux: section mismatch in reference:
rtnl_net_debug_exit+0x20 (section: .exit.text) ->
rtnl_net_debug_net_ops (section: .init.data)
rtnl_net_debug_exit() uses rtnl_net_debug_net_ops() that is annotated
as __net_initdata, but this file is always built-in.
Let's remove rtnl_net_debug_exit().
Fixes: 03fa53485659 ("rtnetlink: Add ASSERT_RTNL_NET() placeholder
for netdev notifier.")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202410101854.i0vQCaDz-lkp@intel.com/
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20241010172433.67694-1-kuniyu@amazon.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
diff --git a/net/core/rtnl_net_debug.c b/net/core/rtnl_net_debug.c
index e90a32242e22b6d1d4d4a7888b19a9d8137f8fc4..f406045cbd0e60653af480270bc45928f9e92839
100644
--- a/net/core/rtnl_net_debug.c
+++ b/net/core/rtnl_net_debug.c
@@ -122,10 +122,4 @@ static int __init rtnl_net_debug_init(void)
return ret;
}
-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);
© 2016 - 2026 Red Hat, Inc.