]> Gentwo Git Trees - linux/.git/commitdiff
bugs/core: Reorganize fields in the first line of WARNING output, add ->comm[] output
authorIngo Molnar <mingo@kernel.org>
Thu, 15 May 2025 12:46:44 +0000 (14:46 +0200)
committerIngo Molnar <mingo@kernel.org>
Mon, 28 Jul 2025 06:06:55 +0000 (08:06 +0200)
With the introduction of the condition string as part of the 'file'
string output of kernel warnings, the first line has become a bit
harder to read:

   WARNING: CPU: 0 PID: 0 at [ptr == 0 && 1] kernel/sched/core.c:8511 sched_init+0x20/0x410

Re-order the fields by importance (higher to lower), make the 'at' meaningful
again, and add '->comm[]' output which is often more valuable than a PID.

Also, remove the 'PID' prefix - in combination with comm it's clear what it is.

These changes make the output only slightly longer:

   WARNING: [ptr == 0 && 1] kernel/sched/core.c:8511 at sched_init+0x20/0x410 CPU#0: swapper/0

While adding more information and making it better organized.

Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Signed-off-by: Ingo Molnar <mingo@kernel.org> # Rebased ancestor commits
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-arch@vger.kernel.org
Link: https://lore.kernel.org/r/20250515124644.2958810-16-mingo@kernel.org
kernel/panic.c

index b0b9a8bf4560d5d0139dd74ee9a037bdfeb12c54..8cb3649a79b61ac539f4c26af506fe772372a928 100644 (file)
@@ -753,13 +753,15 @@ void __warn(const char *file, int line, void *caller, unsigned taint,
 
        disable_trace_on_warning();
 
-       if (file)
-               pr_warn("WARNING: CPU: %d PID: %d at %s:%d %pS\n",
-                       raw_smp_processor_id(), current->pid, file, line,
-                       caller);
-       else
-               pr_warn("WARNING: CPU: %d PID: %d at %pS\n",
-                       raw_smp_processor_id(), current->pid, caller);
+       if (file) {
+               pr_warn("WARNING: %s:%d at %pS, CPU#%d: %s/%d\n",
+                       file, line, caller,
+                       raw_smp_processor_id(), current->comm, current->pid);
+       } else {
+               pr_warn("WARNING: at %pS, CPU#%d: %s/%d\n",
+                       caller,
+                       raw_smp_processor_id(), current->comm, current->pid);
+       }
 
 #pragma GCC diagnostic push
 #ifndef __clang__