sched: Fix preemption string of preempt_dynamic_none
authorThomas Weißschuh <thomas.weissschuh@linutronix.de>
Thu, 26 Jun 2025 09:23:44 +0000 (11:23 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Tue, 1 Jul 2025 13:02:02 +0000 (15:02 +0200)
Zero is a valid value for "preempt_dynamic_mode", namely
"preempt_dynamic_none".

Fix the off-by-one in preempt_model_str(), so that "preempty_dynamic_none"
is correctly formatted as PREEMPT(none) instead of PREEMPT(undef).

Fixes: 8bdc5daaa01e ("sched: Add a generic function to return the preemption string")
Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Tested-by: Shrikanth Hegde <sshegde@linux.ibm.com>
Cc: stable@vger.kernel.org
Link: https://lkml.kernel.org/r/20250626-preempt-str-none-v2-1-526213b70a89@linutronix.de
kernel/sched/core.c

index 8988d38d46a388ba88407b210a5a2e49066f49ea..cd80b66a960a0c5ab5b15baa99fb664f594f4d15 100644 (file)
@@ -7663,7 +7663,7 @@ const char *preempt_model_str(void)
 
                if (IS_ENABLED(CONFIG_PREEMPT_DYNAMIC)) {
                        seq_buf_printf(&s, "(%s)%s",
-                                      preempt_dynamic_mode > 0 ?
+                                      preempt_dynamic_mode >= 0 ?
                                       preempt_modes[preempt_dynamic_mode] : "undef",
                                       brace ? "}" : "");
                        return seq_buf_str(&s);