The patch titled Subject: scripts/gdb: fix parameter handling in $lx_per_cpu has been added to the -mm mm-nonmm-unstable branch. Its filename is scripts-gdb-fix-parameter-handling-in-lx_per_cpu.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/scripts-gdb-fix-parameter-handling-in-lx_per_cpu.patch This patch will later appear in the mm-nonmm-unstable branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/process/submit-checklist.rst when testing your code *** The -mm tree is included into linux-next via the mm-everything branch at git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm and is updated there every 2-3 working days ------------------------------------------------------ From: Florian Rommel <mail@xxxxxxxxxxxx> Subject: scripts/gdb: fix parameter handling in $lx_per_cpu Date: Thu, 25 Apr 2024 17:34:59 +0200 Before, the script tried to get the address by constructing a pointer to the parameter (by name). However, since GDB now passes the parameter as a GdbValue, we cannot get its name. Instead, we retrieve the address through GdbValue's address attribute. Before: >>> p $lx_per_cpu(cpu_info) Traceback (most recent call last): File "./scripts/gdb/linux/cpus.py", line 152, in invoke var_ptr = gdb.parse_and_eval("&" + var_name.string()) ^^^^^^^^^^^^^^^^^ gdb.error: Trying to read string with inappropriate type `struct cpuinfo_x86'. Link: https://lkml.kernel.org/r/20240425153501.749966-3-mail@xxxxxxxxxxxx Signed-off-by: Florian Rommel <mail@xxxxxxxxxxxx> Cc: Andrew Jones <ajones@xxxxxxxxxxxxxxxx> Cc: Deepak Gupta <debug@xxxxxxxxxxxx> Cc: Jan Kiszka <jan.kiszka@xxxxxxxxxxx> Cc: Kieran Bingham <kbingham@xxxxxxxxxx> Cc: Kuan-Ying Lee <Kuan-Ying.Lee@xxxxxxxxxxxx> Cc: Palmer Dabbelt <palmer@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/gdb/linux/cpus.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) --- a/scripts/gdb/linux/cpus.py~scripts-gdb-fix-parameter-handling-in-lx_per_cpu +++ a/scripts/gdb/linux/cpus.py @@ -152,9 +152,8 @@ Note that VAR has to be quoted as string def __init__(self): super(PerCpu, self).__init__("lx_per_cpu") - def invoke(self, var_name, cpu=-1): - var_ptr = gdb.parse_and_eval("&" + var_name.string()) - return per_cpu(var_ptr, cpu) + def invoke(self, var, cpu=-1): + return per_cpu(var.address, cpu) PerCpu() _ Patches currently in -mm which might be from mail@xxxxxxxxxxxx are scripts-gdb-fix-failing-kgdb-detection-during-probe.patch scripts-gdb-fix-parameter-handling-in-lx_per_cpu.patch scripts-gdb-make-get_thread_info-accept-pointers.patch scripts-gdb-fix-detection-of-current-cpu-in-kgdb.patch