Re: [PATCH] rtnetlink: wire up rtnl_net_debug_exit

From: Eric Dumazet
Date: Tue Oct 15 2024 - 11:21:18 EST


On Tue, Oct 15, 2024 at 5:10 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
>
> 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>
> ---

This was fixed with :

commit bb9df28e6fcda6a96860e7b77f3912ef50e06793
Author: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx>
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@xxxxxxxxx>
Closes: https://lore.kernel.org/oe-kbuild-all/202410101854.i0vQCaDz-lkp@xxxxxxxxx/
Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx>
Link: https://patch.msgid.link/20241010172433.67694-1-kuniyu@xxxxxxxxxx
Signed-off-by: Paolo Abeni <pabeni@xxxxxxxxxx>

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);