| From: Florian Rommel <mail@florommel.de> |
| Subject: scripts/gdb: fix failing KGDB detection during probe |
| Date: Thu, 25 Apr 2024 17:34:58 +0200 |
| |
| Patch series "scripts/gdb: Fixes for $lx_current and $lx_per_cpu". |
| |
| This series fixes several bugs in the GDB scripts related to the |
| $lx_current and $lx_per_cpu functions. The changes were tested with GDB |
| 10, 11, 12, 13, and 14. |
| |
| Patch 1 fixes false-negative results when probing for KGDB |
| |
| Patch 2 fixes the $lx_per_cpu function, which is currently non-functional |
| in QEMU-GDB and KGDB. |
| |
| Patch 3 fixes an additional bug in $lx_per_cpu that occurs with KGDB. |
| |
| Patch 4 fixes the incorrect detection of the current CPU number in KGDB, |
| which silently breaks $lx_per_cpu and $lx_current. |
| |
| |
| This patch (of 4): |
| |
| The KGDB probe function sometimes failed to detect KGDB for SMP machines |
| as it assumed that task 2 (kthreadd) is running on CPU 0, which is not |
| necessarily the case. Now, the detection is agnostic to kthreadd's CPU. |
| |
| Link: https://lkml.kernel.org/r/20240425153501.749966-1-mail@florommel.de |
| Link: https://lkml.kernel.org/r/20240425153501.749966-2-mail@florommel.de |
| Signed-off-by: Florian Rommel <mail@florommel.de> |
| Cc: Andrew Jones <ajones@ventanamicro.com> |
| Cc: Deepak Gupta <debug@rivosinc.com> |
| Cc: Jan Kiszka <jan.kiszka@siemens.com> |
| Cc: Kieran Bingham <kbingham@kernel.org> |
| Cc: Kuan-Ying Lee <Kuan-Ying.Lee@mediatek.com> |
| Cc: Palmer Dabbelt <palmer@rivosinc.com> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| scripts/gdb/linux/utils.py | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/scripts/gdb/linux/utils.py~scripts-gdb-fix-failing-kgdb-detection-during-probe |
| +++ a/scripts/gdb/linux/utils.py |
| @@ -196,7 +196,7 @@ def get_gdbserver_type(): |
| def probe_kgdb(): |
| try: |
| thread_info = gdb.execute("info thread 2", to_string=True) |
| - return "shadowCPU0" in thread_info |
| + return "shadowCPU" in thread_info |
| except gdb.error: |
| return False |
| |
| _ |