Patch "LoongArch/orc: Use RCU in all users of __module_address()." has been added to the 6.12-stable tree
A message that is not in the archive (sent off-list or not yet received): [email protected]
Hi, Sasha,
Quoted 8 lines · Sasha Levin
This is a note to let you know that I've just added the patch titled
LoongArch/orc: Use RCU in all users of
__module_address().to the 6.12-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
Quoted 7 lines
The filename of the patch is:
loongarch-orc-use-rcu-in-all-users-of-__module_addre.patch
and it can be found in the queue-6.12 subdirectory.If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Is this really needed in 6.12?
Huacai
Quoted 54 lines
commit
cb7c7e4265d8d6fbba83f1d4df9a028837702e06Author: Sebastian Andrzej Siewior <[email protected]> Date: Wed Jan 8 10:04:47 2025 +0100LoongArch/orc: Use RCU in all users of
__module_address().[ Upstream commit
f99d27d9feb755aee9350fc89f57814d7e1b4880]
__module_address()can be invoked within a RCU section, there is no requirement to have preemption disabled.Replace the
preempt_disable()section around__module_address()with RCU.Cc Huacai Chen <[email protected]>Cc WANG Xuerui <[email protected]>Signed-off-by Sebastian Andrzej Siewior <[email protected]>Signed-off-by Petr Pavlu <[email protected]>Stable-dep-of:
055c7e75190e("LoongArch: Handle percpu handler address for ORC unwinder")Signed-off-by Sasha Levin <[email protected]>arch/loongarch/kernel/unwind_orc.c +1
-3@@ -399,7 +399,7 @@ bool unwind_next_frame(struct unwind_state *state)return false;/* Don't let modules unload while we're reading their ORC data. */ -preempt_disable (); +guard (rcu)();if (is_entry_func (state->pc)) goto end;@@ -514,14 +514,12 @@ bool unwind_next_frame(struct unwind_state *state)if (!__kernel_text_address (state->pc)) goto err; -preempt_enable ();return true; err: state->error = true; end: -preempt_enable (); state->stack_info.type =STACK_TYPE_UNKNOWN ;return false; }