Re: [PATCH] ipmr: Don't mark ip6mr_rtnl_msg_handlers as __initconst

From: Kuniyuki Iwashima
Date: Fri Oct 18 2024 - 15:20:00 EST


From: "Arnd Bergmann" <arnd@xxxxxxxx>
Date: Fri, 18 Oct 2024 19:09:10 +0000
> On Fri, Oct 18, 2024, at 16:31, Kuniyuki Iwashima wrote:
> > From: Arnd Bergmann <arnd@xxxxxxxxxx>
> > Date: Fri, 18 Oct 2024 15:12:14 +0000
> >> From: Arnd Bergmann <arnd@xxxxxxxx>
> >>
> >> This gets referenced by the ip6_mr_cleanup function, so it must not be
> >> discarded early:
> >>
> >> WARNING: modpost: vmlinux: section mismatch in reference: ip6_mr_cleanup+0x14 (section: .exit.text) -> ip6mr_rtnl_msg_handlers (section: .init.rodata)
> >> ERROR: modpost: Section mismatches detected.
> >> Set CONFIG_SECTION_MISMATCH_WARN_ONLY=y to allow them.
> >>
> >> Fixes: 3ac84e31b33e ("ipmr: Use rtnl_register_many().")
> >> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> >
> > Hi,
> >
> > I posted this yesterday.
> > https://lore.kernel.org/netdev/20241017174732.39487-1-kuniyu@xxxxxxxxxx/
>
> Right, your may be better then. I was confused by the
> function name suggesting that this would be called in the
> module_exit path, but I now see that it is only called
> at init time, so that works.

Since the commit below, IPv6 has lost unloadability, and such cleanup
functions are only called from init path now.


commit 8ce440610357b77587433d0df647cea69a6890a8
Author: Cong Wang <amwang@xxxxxxxxxx>
Date: Sat Sep 21 11:12:21 2013 +0800

ipv6: do not allow ipv6 module to be removed