The patch titled Subject: scripts/gdb/utils: add common type usage has been added to the -mm mm-nonmm-unstable branch. Its filename is scripts-gdb-utils-add-common-type-usage.patch This patch will shortly appear at https://git.kernel.org/pub/scm/linux/kernel/git/akpm/25-new.git/tree/patches/scripts-gdb-utils-add-common-type-usage.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: Kuan-Ying Lee <Kuan-Ying.Lee@xxxxxxxxxxxx> Subject: scripts/gdb/utils: add common type usage Date: Tue, 25 Jul 2023 17:34:53 +0800 Since we often use 'unsigned long', 'size_t', 'usigned int' and 'struct page', we add these common types to utils. Link: https://lkml.kernel.org/r/20230725093458.30064-4-Kuan-Ying.Lee@xxxxxxxxxxxx Signed-off-by: Kuan-Ying Lee <Kuan-Ying.Lee@xxxxxxxxxxxx> Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> Cc: Chinwen Chang <chinwen.chang@xxxxxxxxxxxx> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> Cc: Qun-Wei Lin <qun-wei.lin@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- scripts/gdb/linux/utils.py | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) --- a/scripts/gdb/linux/utils.py~scripts-gdb-utils-add-common-type-usage +++ a/scripts/gdb/linux/utils.py @@ -35,12 +35,32 @@ class CachedType: long_type = CachedType("long") +ulong_type = CachedType("unsigned long") +uint_type = CachedType("unsigned int") atomic_long_type = CachedType("atomic_long_t") +size_t_type = CachedType("size_t") +struct_page_type = CachedType("struct page") + +def get_uint_type(): + global uint_type + return uint_type.get_type() + +def get_page_type(): + global struct_page_type + return struct_page_type.get_type() def get_long_type(): global long_type return long_type.get_type() +def get_ulong_type(): + global ulong_type + return ulong_type.get_type() + +def get_size_t_type(): + global size_t_type + return size_t_type.get_type() + def offset_of(typeobj, field): element = gdb.Value(0).cast(typeobj) return int(str(element[field].address).split()[0], 16) _ Patches currently in -mm which might be from Kuan-Ying.Lee@xxxxxxxxxxxx are scripts-gdb-symbols-add-specific-ko-module-load-command.patch scripts-gdb-modules-add-get-module-text-support.patch scripts-gdb-utils-add-common-type-usage.patch scripts-gdb-aarch64-add-aarch64-page-operation-helper-commands-and-configs.patch scripts-gdb-stackdepot-add-stackdepot-support.patch scripts-gdb-page_owner-add-page-owner-support.patch scripts-gdb-slab-add-slab-support.patch scripts-gdb-vmalloc-add-vmallocinfo-support.patch