summaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2025-10-27 09:44:31 +0100
committerIngo Molnar <mingo@kernel.org>2025-11-04 08:30:43 +0100
commit566d8015f7eef11d82cd63dc4e1f620fcfc2a394 (patch)
treeb0aa6a0502895d51e30d3831bd2c692c24d77a86 /kernel
parent83409986f49f17b14a675f9c598ad50d4c60191b (diff)
rseq: Avoid CPU/MM CID updates when no event pending
There is no need to update these values unconditionally if there is no event pending. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Link: https://patch.msgid.link/20251027084306.462964916@linutronix.de
Diffstat (limited to 'kernel')
-rw-r--r--kernel/rseq.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/rseq.c b/kernel/rseq.c
index 01e711383e05..81dddafa2f2e 100644
--- a/kernel/rseq.c
+++ b/kernel/rseq.c
@@ -464,11 +464,12 @@ void __rseq_handle_notify_resume(struct ksignal *ksig, struct pt_regs *regs)
t->rseq_event_pending = false;
}
- if (IS_ENABLED(CONFIG_DEBUG_RSEQ) || event) {
- ret = rseq_ip_fixup(regs, event);
- if (unlikely(ret < 0))
- goto error;
- }
+ if (!IS_ENABLED(CONFIG_DEBUG_RSEQ) && !event)
+ return;
+
+ ret = rseq_ip_fixup(regs, event);
+ if (unlikely(ret < 0))
+ goto error;
if (unlikely(rseq_update_cpu_node_id(t)))
goto error;