]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
rseq: Avoid CPU/MM CID updates when no event pending
authorThomas Gleixner <tglx@linutronix.de>
Mon, 27 Oct 2025 08:44:31 +0000 (09:44 +0100)
committerIngo Molnar <mingo@kernel.org>
Tue, 4 Nov 2025 07:30:43 +0000 (08:30 +0100)
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
kernel/rseq.c

index 01e711383e0520f6a8c5f31f0c2e7047474f582d..81dddafa2f2e786962988e73ddab2c2b39e91600 100644 (file)
@@ -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;