diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2025-10-27 09:44:31 +0100 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2025-11-04 08:30:43 +0100 |
| commit | 566d8015f7eef11d82cd63dc4e1f620fcfc2a394 (patch) | |
| tree | b0aa6a0502895d51e30d3831bd2c692c24d77a86 /kernel | |
| parent | 83409986f49f17b14a675f9c598ad50d4c60191b (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.c | 11 |
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; |
