[PATCH v2] kgdb: update outdated references to kgdb_wait()
From: Kexin Sun
Date: Mon Mar 23 2026 - 23:27:13 EST
The function kgdb_wait() was folded into the static function
kgdb_cpu_enter() by commit 62fae312197a ("kgdb: eliminate
kgdb_wait(), all cpus enter the same way"). Update the four stale
references accordingly:
- include/linux/kgdb.h and arch/x86/kernel/kgdb.c: the
kgdb_roundup_cpus() kdoc describes what other CPUs are rounded up
to call. Because kgdb_cpu_enter() is static, the correct public
entry point is kgdb_handle_exception(); also fix a pre-existing
grammar error ("get them be" -> "get them into") and reflow the
text.
- kernel/debug/debug_core.c: replace with the generic description
"the debug trap handler", since the actual entry path is
architecture-specific.
- kernel/debug/gdbstub.c: kgdb_cpu_enter() is correct here (it
describes internal state, not a call target); add the missing
parentheses.
Suggested-by: Daniel Thompson <daniel@xxxxxxxxxxxx>
Assisted-by: unnamed:deepseek-v3.2 coccinelle
Signed-off-by: Kexin Sun <kexinsun@xxxxxxxxxxxxxxxx>
---
v2:
- Use kgdb_handle_exception() instead of static kgdb_cpu_enter() for
the two kdoc comments describing what other CPUs call (Daniel Thompson)
- Use "the debug trap handler" for the debug_core.c inline comment
- Add missing parentheses in gdbstub.c
- Reflow both reflowed comment blocks
arch/x86/kernel/kgdb.c | 9 +++++----
include/linux/kgdb.h | 7 ++++---
kernel/debug/debug_core.c | 2 +-
kernel/debug/gdbstub.c | 2 +-
4 files changed, 11 insertions(+), 9 deletions(-)
diff --git a/arch/x86/kernel/kgdb.c b/arch/x86/kernel/kgdb.c
index 8b1a9733d13e..96af1242454e 100644
--- a/arch/x86/kernel/kgdb.c
+++ b/arch/x86/kernel/kgdb.c
@@ -407,10 +407,11 @@ static void kgdb_disable_hw_debug(struct pt_regs *regs)
* kgdb_roundup_cpus - Get other CPUs into a holding pattern
*
* On SMP systems, we need to get the attention of the other CPUs
- * and get them be in a known state. This should do what is needed
- * to get the other CPUs to call kgdb_wait(). Note that on some arches,
- * the NMI approach is not used for rounding up all the CPUs. For example,
- * in case of MIPS, smp_call_function() is used to roundup CPUs.
+ * and get them into a known state. This should do what is needed
+ * to get the other CPUs to call kgdb_handle_exception(). Note that
+ * on some arches, the NMI approach is not used for rounding up all
+ * the CPUs. For example, in case of MIPS, smp_call_function() is
+ * used to roundup CPUs.
*
* On non-SMP systems, this is not called.
*/
diff --git a/include/linux/kgdb.h b/include/linux/kgdb.h
index 22b3f3839f30..6c46591a2eac 100644
--- a/include/linux/kgdb.h
+++ b/include/linux/kgdb.h
@@ -202,9 +202,10 @@ extern void kgdb_call_nmi_hook(void *ignored);
*
* On SMP systems, we need to get the attention of the other CPUs
* and get them into a known state. This should do what is needed
- * to get the other CPUs to call kgdb_wait(). Note that on some arches,
- * the NMI approach is not used for rounding up all the CPUs. Normally
- * those architectures can just not implement this and get the default.
+ * to get the other CPUs to call kgdb_handle_exception(). Note that
+ * on some arches, the NMI approach is not used for rounding up all
+ * the CPUs. Normally those architectures can just not implement
+ * this and get the default.
*
* On non-SMP systems, this is not called.
*/
diff --git a/kernel/debug/debug_core.c b/kernel/debug/debug_core.c
index 0b9495187fba..b276504c1c6b 100644
--- a/kernel/debug/debug_core.c
+++ b/kernel/debug/debug_core.c
@@ -704,7 +704,7 @@ static int kgdb_cpu_enter(struct kgdb_state *ks, struct pt_regs *regs,
if (ks->send_ready)
atomic_set(ks->send_ready, 1);
- /* Signal the other CPUs to enter kgdb_wait() */
+ /* Signal the other CPUs to enter the debug trap handler */
else if ((!kgdb_single_step) && kgdb_do_roundup)
kgdb_roundup_cpus();
#endif
diff --git a/kernel/debug/gdbstub.c b/kernel/debug/gdbstub.c
index f586afd76c80..e271a436d60e 100644
--- a/kernel/debug/gdbstub.c
+++ b/kernel/debug/gdbstub.c
@@ -517,7 +517,7 @@ static void gdb_get_regs_helper(struct kgdb_state *ks)
/*
* All threads that don't have debuggerinfo should be
* in schedule() sleeping, since all other CPUs
- * are in kgdb_wait, and thus have debuggerinfo.
+ * are in kgdb_cpu_enter(), and thus have debuggerinfo.
*/
if (local_debuggerinfo) {
pt_regs_to_gdb_regs(gdb_regs, local_debuggerinfo);
--
2.25.1