[lkml]   [2022]   [Jun]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 1/3] net: mdio: unexport __init-annotated mdio_bus_init()

On 6/6/2022 6:53 AM, 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
> I chose the latter for this case because the only in-tree call-site,
> drivers/net/phy/phy_device.c is never compiled as modular.
> (CONFIG_PHYLIB is boolean)
> Fixes: 90eff9096c01 ("net: phy: Allow splitting MDIO bus/device support from PHYs")
> Reported-by: Stephen Rothwell <>
> Signed-off-by: Masahiro Yamada <>

Reviewed-by: Florian Fainelli <>

 \ /
  Last update: 2022-06-06 10:13    [W:0.101 / U:0.580 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site