Messages in this thread | | | Date | Wed, 8 Jun 2022 07:39:39 +0200 | From | Steffen Klassert <> | Subject | Re: [PATCH 2/3] net: xfrm: unexport __init-annotated xfrm4_protocol_init() |
| |
On Tue, Jun 07, 2022 at 01:18:32PM +0200, Paolo Abeni wrote: > On Mon, 2022-06-06 at 13:53 +0900, Masahiro Yamada wrote: > > EXPORT_SYMBOL and __init is a bad combination because the .init.text > > section is freed up after the initialization. Hence, modules cannot > > use symbols annotated __init. The access to a freed symbol may end up > > with kernel panic. > > > > modpost used to detect it, but it has been broken for a decade. > > > > Recently, I fixed modpost so it started to warn it again, then this > > showed up in linux-next builds. > > > > There are two ways to fix it: > > > > - Remove __init > > - Remove EXPORT_SYMBOL > > > > I chose the latter for this case because the only in-tree call-site, > > net/ipv4/xfrm4_policy.c is never compiled as modular. > > (CONFIG_XFRM is boolean) > > > > Fixes: 2f32b51b609f ("xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly") > > Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> > > Signed-off-by: Masahiro Yamada <masahiroy@kernel.org> > > @Steffen: are you ok if we take this one in the -net tree directly? > Otherwise a repost would probably be the better option, with this patch > stand-alone targeting the ipsec tree and the other 2 targeting -net.
Yes, just take it.
Acked-by: Steffen Klassert <steffen.klassert@secunet.com>
Thanks!
| |