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 Thanks, James Morse (3): module: Expose module_init_layout_section() arm64: module: Use module_init_layout_section() to spot init sections ARM: module: Use module_init_layout_section() to spot init sections arch/arm/kernel/module-plts.c | 2 +- arch/arm64/kernel/module-plts.c | 2 +- include/linux/moduleloader.h | 5 +++++ kernel/module/main.c | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) -- 2.39.2