ARM: 9458/1: module: Ensure the override of module_arch_freeing_init()

The function module_arch_freeing_init() defined in arch/arm/kernel/module.c
is supposed to override a weak function of the same name defined in
kernel/module/main.c. However, the ARM override is also marked as weak,
which means that selecting the correct function unnecessarily depends on
the order in which object files with both functions are passed to the

linker. Although it happens to be correct at the moment, the proper pattern
is to make the ARM override a strong definition.

Fixes: cdcb07e45a ("ARM: 8975/1: module: fix handling of unwind init sections")
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
This commit is contained in:
Petr Pavlu
2025-09-01 09:53:04 +01:00
committed by Russell King (Oracle)
parent 8f5ae30d69
commit 44a375e8aa

View File

@@ -484,7 +484,7 @@ module_arch_cleanup(struct module *mod)
#endif
}
void __weak module_arch_freeing_init(struct module *mod)
void module_arch_freeing_init(struct module *mod)
{
#ifdef CONFIG_ARM_UNWIND
struct unwind_table *init = mod->arch.init_table;