Skip to content

Commit 59aa141

Browse files
Sebastian Andrzej Siewiorpetrpavlu
authored andcommitted
ARM: module: Use RCU in all users of __module_text_address().
__module_text_address() can be invoked within a RCU section, there is no requirement to have preemption disabled. Replace the preempt_disable() section around __module_text_address() with RCU. Cc: Russell King <linux@armlinux.org.uk> Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20250108090457.512198-17-bigeasy@linutronix.de Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
1 parent d593e0c commit 59aa141

File tree

1 file changed

+1
-3
lines changed

1 file changed

+1
-3
lines changed

arch/arm/kernel/module-plts.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -285,11 +285,9 @@ bool in_module_plt(unsigned long loc)
285285
struct module *mod;
286286
bool ret;
287287

288-
preempt_disable();
288+
guard(rcu)();
289289
mod = __module_text_address(loc);
290290
ret = mod && (loc - (u32)mod->arch.core.plt_ent < mod->arch.core.plt_count * PLT_ENT_SIZE ||
291291
loc - (u32)mod->arch.init.plt_ent < mod->arch.init.plt_count * PLT_ENT_SIZE);
292-
preempt_enable();
293-
294292
return ret;
295293
}

0 commit comments

Comments
 (0)