From: Arnd Bergmann <[email protected]>
The new netlink interface causes a link-time warning about the use of
a discarded symbol:
WARNING: modpost: vmlinux.o: section mismatch in reference: handshake_exit (section: .exit.text) -> (unknown) (section: .init.data)
ERROR: modpost: Section mismatches detected.
There are other instances of pernet_operations that are marked as
__net_initdata as well, so I'm not sure what the lifetime rules are,
but it's clear that any discarded symbol cannot be referenced from an
exitcall, so remove that annotation here.
Fixes: 3b3009ea8abb ("net/handshake: Create a NETLINK service for handling handshake requests")
Signed-off-by: Arnd Bergmann <[email protected]>
---
net/handshake/netlink.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/handshake/netlink.c b/net/handshake/netlink.c
index 8ea0ff993f9f..35c9c445e0b8 100644
--- a/net/handshake/netlink.c
+++ b/net/handshake/netlink.c
@@ -249,7 +249,7 @@ static void __net_exit handshake_net_exit(struct net *net)
}
}
-static struct pernet_operations __net_initdata handshake_genl_net_ops = {
+static struct pernet_operations handshake_genl_net_ops = {
.init = handshake_net_init,
.exit = handshake_net_exit,
.id = &handshake_net_id,
--
2.39.2
> On Apr 21, 2023, at 4:24 AM, Arnd Bergmann <[email protected]> wrote:
>
> From: Arnd Bergmann <[email protected]>
>
> The new netlink interface causes a link-time warning about the use of
> a discarded symbol:
>
> WARNING: modpost: vmlinux.o: section mismatch in reference: handshake_exit (section: .exit.text) -> (unknown) (section: .init.data)
> ERROR: modpost: Section mismatches detected.
>
> There are other instances of pernet_operations that are marked as
> __net_initdata as well, so I'm not sure what the lifetime rules are,
> but it's clear that any discarded symbol cannot be referenced from an
> exitcall, so remove that annotation here.
>
> Fixes: 3b3009ea8abb ("net/handshake: Create a NETLINK service for handling handshake requests")
> Signed-off-by: Arnd Bergmann <[email protected]>
Thank you, Arnd. We received two other patches yesterday
with the same build error report and suggested fix.
> ---
> net/handshake/netlink.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/handshake/netlink.c b/net/handshake/netlink.c
> index 8ea0ff993f9f..35c9c445e0b8 100644
> --- a/net/handshake/netlink.c
> +++ b/net/handshake/netlink.c
> @@ -249,7 +249,7 @@ static void __net_exit handshake_net_exit(struct net *net)
> }
> }
>
> -static struct pernet_operations __net_initdata handshake_genl_net_ops = {
> +static struct pernet_operations handshake_genl_net_ops = {
> .init = handshake_net_init,
> .exit = handshake_net_exit,
> .id = &handshake_net_id,
> --
> 2.39.2
>
--
Chuck Lever