[PATCH 0/3] ARM/arm64: Fix loading of modules with an exit section

Russell King (Oracle) linux at armlinux.org.uk
Thu Aug 3 03:20:06 PDT 2023


On Wed, Aug 02, 2023 at 05:28:10PM +0100, James Morse wrote:
> Hi Luis,
> 
> On 01/08/2023 18:14, Luis Chamberlain wrote:
> > On Tue, Aug 01, 2023 at 02:54:06PM +0000, James Morse wrote:
> >> Adam reports that Yocto can't load modules on arm64. This turns out to be due
> >> to the arch code disagreeing with the core code when it comes to the layout
> >> of the modules exit text, resulting in a shortage of PLTs and a bunch of
> >> warnings.
> >>
> >> arm and arm64 are unusual here as they are counting the PLTs based on the
> >> section name. This series exposes the helper that core code uses to decide
> >> the layout.
> >>
> >> I've been unable to reproduce the behaviour on 32bit - but it looks like
> >> its possible to reach the BUG_ON() in get_module_plt(). To test this, disable
> >> CONFIG_MODULE_UNLOAD, and try to load modules with relocations in their exit
> >> text.
> >>
> >> This series is based on v6.5-rc4, and can be retrieved from:
> >> https://git.kernel.org/pub/scm/linux/kernel/git/morse/linux.git arm64/modules/exit_sections/v1
> >>
> > 
> > Reviewed-by: Luis Chamberlain <mcgrof at kernel.org>
> 
> Thanks!
> 
> 
> > Do you want this to go through the modules tree or do you want to take
> > this in your tree? Either way is fine by me, at this point there should
> > be no conflicts.
> 
> If Russell agrees the problem exists on 32bit arm, then I think it would be best to keep
> these three together - going via the modules tree would make the most sense.
> 
> This has been broken for a while, so it can wait for v6.6-rc1.
> I think the yocto folk plan to carry this out of tree until its in their chosen stable
> version.

The thing about PLTs is that it's something I've never had the need to
make use of - because I've never been in the situation where the
arm32 module space has been close to overflowing. The addition of PLT
support for 32-bit arm did make my eyebrows raise for this very reason,
but I guess there are a small number of people who want to use really
large modules.

As such, I couldn't say whether it's broken or not - but it seems
sensible to keep both the 64-bit and 32-bit code tracking each other.

-- 
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 80Mbps down 10Mbps up. Decent connectivity at last!



More information about the linux-arm-kernel mailing list