]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
scripts/gdb: fix interrupts.py after maple tree conversion
authorFlorian Fainelli <florian.fainelli@broadcom.com>
Wed, 25 Jun 2025 02:10:20 +0000 (19:10 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 17 Jul 2025 16:35:15 +0000 (18:35 +0200)
commitf64046ae340159f31dc8fb5fcfd1ebeccc04fef3
treec3043000a858db186e8e1a4bb1417e0909df4bce
parentecf16604f3f0fa88f9c16a1a4b7991316f3e2a2e
scripts/gdb: fix interrupts.py after maple tree conversion

commit a02b0cde8ee515ee0c8efd33e7fbe6830c282e69 upstream.

In commit 721255b9826b ("genirq: Use a maple tree for interrupt descriptor
management"), the irq_desc_tree was replaced with a sparse_irqs tree using
a maple tree structure.  Since the script looked for the irq_desc_tree
symbol which is no longer available, no interrupts would be printed and
the script output would not be useful anymore.

In addition to looking up the correct symbol (sparse_irqs), a new module
(mapletree.py) is added whose mtree_load() implementation is largely
copied after the C version and uses the same variable and intermediate
function names wherever possible to ensure that both the C and Python
version be updated in the future.

This restores the scripts' output to match that of /proc/interrupts.

Link: https://lkml.kernel.org/r/20250625021020.1056930-1-florian.fainelli@broadcom.com
Fixes: 721255b9826b ("genirq: Use a maple tree for interrupt descriptor management")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>
Cc: Kieran Bingham <kbingham@kernel.org>
Cc: Shanker Donthineni <sdonthineni@nvidia.com>
Cc: Thomas Gleinxer <tglx@linutronix.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
scripts/gdb/linux/constants.py.in
scripts/gdb/linux/interrupts.py
scripts/gdb/linux/mapletree.py [new file with mode: 0644]
scripts/gdb/linux/xarray.py [new file with mode: 0644]