Message ID | 20230421082450.2572594-1-arnd@kernel.org (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net/handshake: fix section mismatch error for handshake_genl_net_ops | expand |
> On Apr 21, 2023, at 4:24 AM, Arnd Bergmann <arnd@kernel.org> wrote: > > From: Arnd Bergmann <arnd@arndb.de> > > 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 <arnd@arndb.de> 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
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,