Linux kernel -stable discussions
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Jan Kiszka <jan.kiszka@siemens.com>,
	Kieran Bingham <kbingham@kernel.org>,
	Shanker Donthineni <sdonthineni@nvidia.com>,
	Thomas Gleinxer <tglx@linutronix.de>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 6.12 091/163] scripts/gdb: fix interrupts.py after maple tree conversion
Date: Tue, 15 Jul 2025 15:12:39 +0200	[thread overview]
Message-ID: <20250715130812.525115103@linuxfoundation.org> (raw)
In-Reply-To: <20250715130808.777350091@linuxfoundation.org>

6.12-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Florian Fainelli <florian.fainelli@broadcom.com>

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 |    7 +
 scripts/gdb/linux/interrupts.py   |   12 -
 scripts/gdb/linux/mapletree.py    |  252 ++++++++++++++++++++++++++++++++++++++
 scripts/gdb/linux/xarray.py       |   28 ++++
 4 files changed, 293 insertions(+), 6 deletions(-)
 create mode 100644 scripts/gdb/linux/mapletree.py
 create mode 100644 scripts/gdb/linux/xarray.py

--- a/scripts/gdb/linux/constants.py.in
+++ b/scripts/gdb/linux/constants.py.in
@@ -20,6 +20,7 @@
 #include <linux/of_fdt.h>
 #include <linux/page_ext.h>
 #include <linux/radix-tree.h>
+#include <linux/maple_tree.h>
 #include <linux/slab.h>
 #include <linux/threads.h>
 #include <linux/vmalloc.h>
@@ -93,6 +94,12 @@ LX_GDBPARSED(RADIX_TREE_MAP_SIZE)
 LX_GDBPARSED(RADIX_TREE_MAP_SHIFT)
 LX_GDBPARSED(RADIX_TREE_MAP_MASK)
 
+/* linux/maple_tree.h */
+LX_VALUE(MAPLE_NODE_SLOTS)
+LX_VALUE(MAPLE_RANGE64_SLOTS)
+LX_VALUE(MAPLE_ARANGE64_SLOTS)
+LX_GDBPARSED(MAPLE_NODE_MASK)
+
 /* linux/vmalloc.h */
 LX_VALUE(VM_IOREMAP)
 LX_VALUE(VM_ALLOC)
--- a/scripts/gdb/linux/interrupts.py
+++ b/scripts/gdb/linux/interrupts.py
@@ -7,7 +7,7 @@ import gdb
 from linux import constants
 from linux import cpus
 from linux import utils
-from linux import radixtree
+from linux import mapletree
 
 irq_desc_type = utils.CachedType("struct irq_desc")
 
@@ -23,12 +23,12 @@ def irqd_is_level(desc):
 def show_irq_desc(prec, irq):
     text = ""
 
-    desc = radixtree.lookup(gdb.parse_and_eval("&irq_desc_tree"), irq)
+    desc = mapletree.mtree_load(gdb.parse_and_eval("&sparse_irqs"), irq)
     if desc is None:
         return text
 
-    desc = desc.cast(irq_desc_type.get_type())
-    if desc is None:
+    desc = desc.cast(irq_desc_type.get_type().pointer())
+    if desc == 0:
         return text
 
     if irq_settings_is_hidden(desc):
@@ -221,8 +221,8 @@ class LxInterruptList(gdb.Command):
             gdb.write("CPU%-8d" % cpu)
         gdb.write("\n")
 
-        if utils.gdb_eval_or_none("&irq_desc_tree") is None:
-            return
+        if utils.gdb_eval_or_none("&sparse_irqs") is None:
+            raise gdb.GdbError("Unable to find the sparse IRQ tree, is CONFIG_SPARSE_IRQ enabled?")
 
         for irq in range(nr_irqs):
             gdb.write(show_irq_desc(prec, irq))
--- /dev/null
+++ b/scripts/gdb/linux/mapletree.py
@@ -0,0 +1,252 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+#  Maple tree helpers
+#
+# Copyright (c) 2025 Broadcom
+#
+# Authors:
+#  Florian Fainelli <florian.fainelli@broadcom.com>
+
+import gdb
+
+from linux import utils
+from linux import constants
+from linux import xarray
+
+maple_tree_root_type = utils.CachedType("struct maple_tree")
+maple_node_type = utils.CachedType("struct maple_node")
+maple_enode_type = utils.CachedType("void")
+
+maple_dense = 0
+maple_leaf_64 = 1
+maple_range_64 = 2
+maple_arange_64 = 3
+
+class Mas(object):
+    ma_active = 0
+    ma_start = 1
+    ma_root = 2
+    ma_none = 3
+    ma_pause = 4
+    ma_overflow = 5
+    ma_underflow = 6
+    ma_error = 7
+
+    def __init__(self, mt, first, end):
+        if mt.type == maple_tree_root_type.get_type().pointer():
+            self.tree = mt.dereference()
+        elif mt.type != maple_tree_root_type.get_type():
+            raise gdb.GdbError("must be {} not {}"
+                               .format(maple_tree_root_type.get_type().pointer(), mt.type))
+        self.tree = mt
+        self.index = first
+        self.last = end
+        self.node = None
+        self.status = self.ma_start
+        self.min = 0
+        self.max = -1
+
+    def is_start(self):
+        # mas_is_start()
+        return self.status == self.ma_start
+
+    def is_ptr(self):
+        # mas_is_ptr()
+        return self.status == self.ma_root
+
+    def is_none(self):
+        # mas_is_none()
+        return self.status == self.ma_none
+
+    def root(self):
+        # mas_root()
+        return self.tree['ma_root'].cast(maple_enode_type.get_type().pointer())
+
+    def start(self):
+        # mas_start()
+        if self.is_start() is False:
+            return None
+
+        self.min = 0
+        self.max = ~0
+
+        while True:
+            self.depth = 0
+            root = self.root()
+            if xarray.xa_is_node(root):
+                self.depth = 0
+                self.status = self.ma_active
+                self.node = mte_safe_root(root)
+                self.offset = 0
+                if mte_dead_node(self.node) is True:
+                    continue
+
+                return None
+
+            self.node = None
+            # Empty tree
+            if root is None:
+                self.status = self.ma_none
+                self.offset = constants.LX_MAPLE_NODE_SLOTS
+                return None
+
+            # Single entry tree
+            self.status = self.ma_root
+            self.offset = constants.LX_MAPLE_NODE_SLOTS
+
+            if self.index != 0:
+                return None
+
+            return root
+
+        return None
+
+    def reset(self):
+        # mas_reset()
+        self.status = self.ma_start
+        self.node = None
+
+def mte_safe_root(node):
+    if node.type != maple_enode_type.get_type().pointer():
+        raise gdb.GdbError("{} must be {} not {}"
+                           .format(mte_safe_root.__name__, maple_enode_type.get_type().pointer(), node.type))
+    ulong_type = utils.get_ulong_type()
+    indirect_ptr = node.cast(ulong_type) & ~0x2
+    val = indirect_ptr.cast(maple_enode_type.get_type().pointer())
+    return val
+
+def mte_node_type(entry):
+    ulong_type = utils.get_ulong_type()
+    val = None
+    if entry.type == maple_enode_type.get_type().pointer():
+        val = entry.cast(ulong_type)
+    elif entry.type == ulong_type:
+        val = entry
+    else:
+        raise gdb.GdbError("{} must be {} not {}"
+                           .format(mte_node_type.__name__, maple_enode_type.get_type().pointer(), entry.type))
+    return (val >> 0x3) & 0xf
+
+def ma_dead_node(node):
+    if node.type != maple_node_type.get_type().pointer():
+        raise gdb.GdbError("{} must be {} not {}"
+                           .format(ma_dead_node.__name__, maple_node_type.get_type().pointer(), node.type))
+    ulong_type = utils.get_ulong_type()
+    parent = node['parent']
+    indirect_ptr = node['parent'].cast(ulong_type) & ~constants.LX_MAPLE_NODE_MASK
+    return indirect_ptr == node
+
+def mte_to_node(enode):
+    ulong_type = utils.get_ulong_type()
+    if enode.type == maple_enode_type.get_type().pointer():
+        indirect_ptr = enode.cast(ulong_type)
+    elif enode.type == ulong_type:
+        indirect_ptr = enode
+    else:
+        raise gdb.GdbError("{} must be {} not {}"
+                           .format(mte_to_node.__name__, maple_enode_type.get_type().pointer(), enode.type))
+    indirect_ptr = indirect_ptr & ~constants.LX_MAPLE_NODE_MASK
+    return indirect_ptr.cast(maple_node_type.get_type().pointer())
+
+def mte_dead_node(enode):
+    if enode.type != maple_enode_type.get_type().pointer():
+        raise gdb.GdbError("{} must be {} not {}"
+                           .format(mte_dead_node.__name__, maple_enode_type.get_type().pointer(), enode.type))
+    node = mte_to_node(enode)
+    return ma_dead_node(node)
+
+def ma_is_leaf(tp):
+    result = tp < maple_range_64
+    return tp < maple_range_64
+
+def mt_pivots(t):
+    if t == maple_dense:
+        return 0
+    elif t == maple_leaf_64 or t == maple_range_64:
+        return constants.LX_MAPLE_RANGE64_SLOTS - 1
+    elif t == maple_arange_64:
+        return constants.LX_MAPLE_ARANGE64_SLOTS - 1
+
+def ma_pivots(node, t):
+    if node.type != maple_node_type.get_type().pointer():
+        raise gdb.GdbError("{}: must be {} not {}"
+                           .format(ma_pivots.__name__, maple_node_type.get_type().pointer(), node.type))
+    if t == maple_arange_64:
+        return node['ma64']['pivot']
+    elif t == maple_leaf_64 or t == maple_range_64:
+        return node['mr64']['pivot']
+    else:
+        return None
+
+def ma_slots(node, tp):
+    if node.type != maple_node_type.get_type().pointer():
+        raise gdb.GdbError("{}: must be {} not {}"
+                           .format(ma_slots.__name__, maple_node_type.get_type().pointer(), node.type))
+    if tp == maple_arange_64:
+        return node['ma64']['slot']
+    elif tp == maple_range_64 or tp == maple_leaf_64:
+        return node['mr64']['slot']
+    elif tp == maple_dense:
+        return node['slot']
+    else:
+        return None
+
+def mt_slot(mt, slots, offset):
+    ulong_type = utils.get_ulong_type()
+    return slots[offset].cast(ulong_type)
+
+def mtree_lookup_walk(mas):
+    ulong_type = utils.get_ulong_type()
+    n = mas.node
+
+    while True:
+        node = mte_to_node(n)
+        tp = mte_node_type(n)
+        pivots = ma_pivots(node, tp)
+        end = mt_pivots(tp)
+        offset = 0
+        while True:
+            if pivots[offset] >= mas.index:
+                break
+            if offset >= end:
+                break
+            offset += 1
+
+        slots = ma_slots(node, tp)
+        n = mt_slot(mas.tree, slots, offset)
+        if ma_dead_node(node) is True:
+            mas.reset()
+            return None
+            break
+
+        if ma_is_leaf(tp) is True:
+            break
+
+    return n
+
+def mtree_load(mt, index):
+    ulong_type = utils.get_ulong_type()
+    # MT_STATE(...)
+    mas = Mas(mt, index, index)
+    entry = None
+
+    while True:
+        entry = mas.start()
+        if mas.is_none():
+            return None
+
+        if mas.is_ptr():
+            if index != 0:
+                entry = None
+            return entry
+
+        entry = mtree_lookup_walk(mas)
+        if entry is None and mas.is_start():
+            continue
+        else:
+            break
+
+    if xarray.xa_is_zero(entry):
+        return None
+
+    return entry
--- /dev/null
+++ b/scripts/gdb/linux/xarray.py
@@ -0,0 +1,28 @@
+# SPDX-License-Identifier: GPL-2.0
+#
+#  Xarray helpers
+#
+# Copyright (c) 2025 Broadcom
+#
+# Authors:
+#  Florian Fainelli <florian.fainelli@broadcom.com>
+
+import gdb
+
+from linux import utils
+from linux import constants
+
+def xa_is_internal(entry):
+    ulong_type = utils.get_ulong_type()
+    return ((entry.cast(ulong_type) & 3) == 2)
+
+def xa_mk_internal(v):
+    return ((v << 2) | 2)
+
+def xa_is_zero(entry):
+    ulong_type = utils.get_ulong_type()
+    return entry.cast(ulong_type) == xa_mk_internal(257)
+
+def xa_is_node(entry):
+    ulong_type = utils.get_ulong_type()
+    return xa_is_internal(entry) and (entry.cast(ulong_type) > 4096)



  parent reply	other threads:[~2025-07-15 13:20 UTC|newest]

Thread overview: 170+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-07-15 13:11 [PATCH 6.12 000/163] 6.12.39-rc1 review Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 001/163] eventpoll: dont decrement ep refcount while still holding the ep mutex Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 002/163] drm/exynos: exynos7_drm_decon: add vblank check in IRQ handling Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 003/163] drm/amdgpu/discovery: use specific ip_discovery.bin for legacy asics Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 004/163] drm/amdgpu/ip_discovery: add missing ip_discovery fw Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 005/163] crypto: s390/sha - Fix uninitialized variable in SHA-1 and SHA-2 Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 006/163] drm/amdgpu: Replace Mutex with Spinlock for RLCG register access to avoid Priority Inversion in SRIOV Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 007/163] ASoC: fsl_asrc: use internal measured ratio for non-ideal ratio mode Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 008/163] ASoC: Intel: SND_SOC_INTEL_SOF_BOARD_HELPERS select SND_SOC_ACPI_INTEL_MATCH Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 009/163] ASoC: Intel: soc-acpi: arl: Correct naming of a cs35l56 address struct Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 010/163] ASoC: Intel: soc-acpi: arl: Add match entries for new cs42l43 laptops Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 011/163] ASoC: soc-acpi: add get_function_tplg_files ops Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 012/163] ASoC: Intel: add sof_sdw_get_tplg_files ops Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 013/163] ASoC: Intel: soc-acpi-intel-arl-match: set get_function_tplg_files ops Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 014/163] ASoC: Intel: soc-acpi: arl: Correct order of cs42l43 matches Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 015/163] perf/core: Fix the WARN_ON_ONCE is out of lock protected region Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 016/163] irqchip/irq-msi-lib: Select CONFIG_GENERIC_MSI_IRQ Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 017/163] sched/core: Fix migrate_swap() vs. hotplug Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 018/163] perf: Revert to requiring CAP_SYS_ADMIN for uprobes Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 019/163] ASoC: cs35l56: probe() should fail if the device ID is not recognized Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 020/163] Bluetooth: hci_sync: Fix not disabling advertising instance Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 021/163] Bluetooth: hci_event: Fix not marking Broadcast Sink BIS as connected Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 022/163] pinctrl: amd: Clear GPIO debounce for suspend Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 023/163] fix proc_sys_compare() handling of in-lookup dentries Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 024/163] sched/deadline: Fix dl_server runtime calculation formula Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 025/163] bnxt_en: eliminate the compile warning in bnxt_request_irq due to CONFIG_RFS_ACCEL Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 026/163] arm64: poe: Handle spurious Overlay faults Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 027/163] net: phy: qcom: move the WoL function to shared library Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 028/163] net: phy: qcom: qca808x: Fix WoL issue by utilizing at8031_set_wol() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 029/163] netlink: Fix wraparounds of sk->sk_rmem_alloc Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 030/163] vsock: fix `vsock_proto` declaration Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 031/163] tipc: Fix use-after-free in tipc_conn_close() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 032/163] tcp: Correct signedness in skb remaining space calculation Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 033/163] vsock: Fix transport_{g2h,h2g} TOCTOU Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 034/163] vsock: Fix transport_* TOCTOU Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 035/163] vsock: Fix IOCTL_VM_SOCKETS_GET_LOCAL_CID to check also `transport_local` Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 036/163] net: stmmac: Fix interrupt handling for level-triggered mode in DWC_XGMAC2 Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 037/163] net: phy: smsc: Fix Auto-MDIX configuration when disabled by strap Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 038/163] net: phy: smsc: Force predictable MDI-X state on LAN87xx Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 039/163] net: phy: smsc: Fix link failure in forced mode with Auto-MDIX Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 040/163] atm: clip: Fix potential null-ptr-deref in to_atmarpd() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 041/163] atm: clip: Fix memory leak of struct clip_vcc Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 042/163] atm: clip: Fix infinite recursive call of clip_push() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 043/163] atm: clip: Fix NULL pointer dereference in vcc_sendmsg() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 044/163] net: ethernet: ti: am65-cpsw-nuss: Fix skb size by accounting for skb_shared_info Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 045/163] net/sched: Abort __tc_modify_qdisc if parent class does not exist Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 046/163] rxrpc: Fix bug due to prealloc collision Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 047/163] rxrpc: Fix oops due to non-existence of prealloc backlog struct Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 048/163] ipmi:msghandler: Fix potential memory corruption in ipmi_create_user() Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 049/163] x86/mce/amd: Add default names for MCA banks and blocks Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 050/163] x86/mce/amd: Fix threshold limit reset Greg Kroah-Hartman
2025-07-15 13:11 ` [PATCH 6.12 051/163] x86/mce: Dont remove sysfs if thresholding sysfs init fails Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 052/163] x86/mce: Ensure user polling settings are honored when restarting timer Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 053/163] x86/mce: Make sure CMCI banks are cleared during shutdown on Intel Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 054/163] KVM: x86/xen: Allow out of range event channel ports in IRQ routing table Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 055/163] KVM: SVM: Add missing member in SNP_LAUNCH_START command structure Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 056/163] KVM: SVM: Reject SEV{-ES} intra host migration if vCPU creation is in-flight Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 057/163] KVM: Allow CPU to reschedule while setting per-page memory attributes Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 058/163] ALSA: ad1816a: Fix potential NULL pointer deref in snd_card_ad1816a_pnp() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 059/163] ASoC: fsl_sai: Force a software reset when starting in consumer mode Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 060/163] gre: Fix IPv6 multicast route creation Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 061/163] net: ethernet: rtsn: Fix a null pointer dereference in rtsn_probe() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 062/163] md/md-bitmap: fix GPF in bitmap_get_stats() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 063/163] pinctrl: qcom: msm: mark certain pins as invalid for interrupts Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 064/163] pwm: Fix invalid state detection Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 065/163] pwm: mediatek: Ensure to disable clocks in error path Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 066/163] wifi: prevent A-MSDU attacks in mesh networks Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 067/163] wifi: mwifiex: discard erroneous disassoc frames on STA interface Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 068/163] wifi: mt76: mt7921: prevent decap offload config before STA initialization Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 069/163] wifi: mt76: mt7925: prevent NULL pointer dereference in mt7925_sta_set_decap_offload() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 070/163] wifi: mt76: mt7925: fix the wrong config for tx interrupt Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 071/163] wifi: mt76: mt7925: fix invalid array index in ssid assignment during hw scan Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 072/163] drm/imagination: Fix kernel crash when hard resetting the GPU Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 073/163] drm/amdkfd: Dont call mmput from MMU notifier callback Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 074/163] drm/gem: Acquire references on GEM handles for framebuffers Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 075/163] drm/sched: Increment job count before swapping tail spsc queue Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 076/163] drm/ttm: fix error handling in ttm_buffer_object_transfer Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 077/163] drm/gem: Fix race in drm_gem_handle_create_tail() Greg Kroah-Hartman
2025-07-15 13:34   ` Thomas Zimmermann
2025-07-15 13:12 ` [PATCH 6.12 078/163] drm/xe/bmg: fix compressed VRAM handling Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 079/163] Revert "drm/xe/xe2: Enable Indirect Ring State support for Xe2" Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 080/163] usb: gadget: u_serial: Fix race condition in TTY wakeup Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 081/163] Revert "usb: gadget: u_serial: Add null pointer check in gs_start_io" Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 082/163] drm/framebuffer: Acquire internal references on GEM handles Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 083/163] drm/xe: Allocate PF queue size on pow2 boundary Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 084/163] Revert "ACPI: battery: negate current when discharging" Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 085/163] Revert "PCI/ACPI: Fix allocated memory release on error in pci_acpi_scan_root()" Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 086/163] kallsyms: fix build without execinfo Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 087/163] maple_tree: fix mt_destroy_walk() on root leaf node Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 088/163] mm: fix the inaccurate memory statistics issue for users Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 089/163] scripts/gdb: fix interrupts display after MCP on x86 Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 090/163] scripts/gdb: de-reference per-CPU MCE interrupts Greg Kroah-Hartman
2025-07-15 13:12 ` Greg Kroah-Hartman [this message]
2025-07-15 13:12 ` [PATCH 6.12 092/163] mm/vmalloc: leave lazy MMU mode on PTE mapping error Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 093/163] lib/alloc_tag: do not acquire non-existent lock in alloc_tag_top_users() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 094/163] rust: init: allow `dead_code` warnings for Rust >= 1.89.0 Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 095/163] clk: imx: Fix an out-of-bounds access in dispmix_csr_clk_dev_data Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 096/163] x86/rdrand: Disable RDSEED on AMD Cyan Skillfish Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 097/163] x86/mm: Disable hugetlb page table sharing on 32-bit Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 098/163] clk: scmi: Handle case where child clocks are initialized before their parents Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 099/163] smb: server: make use of rdma_destroy_qp() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 100/163] ksmbd: fix a mount write count leak in ksmbd_vfs_kern_path_locked() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 101/163] erofs: fix to add missing tracepoint in erofs_read_folio() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 102/163] erofs: address D-cache aliasing Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 103/163] ASoC: Intel: sof-function-topology-lib: Print out the unsupported dmic count Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 104/163] netlink: Fix rmem check in netlink_broadcast_deliver() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 105/163] netlink: make sure we allow at least one dump skb Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 106/163] netfs: Fix ref leak on inserted extra subreq in write retry Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 107/163] wifi: cfg80211: fix S1G beacon head validation in nl80211 Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 108/163] wifi: zd1211rw: Fix potential NULL pointer dereference in zd_mac_tx_to_dev() Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 109/163] drm/tegra: nvdec: Fix dma_alloc_coherent error check Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 110/163] md/raid1: Fix stack memory use after return in raid1_reshape Greg Kroah-Hartman
2025-07-15 13:12 ` [PATCH 6.12 111/163] raid10: cleanup memleak at raid10_make_request Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 112/163] wifi: mac80211: correctly identify S1G short beacon Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 113/163] wifi: mac80211: fix non-transmitted BSSID profile search Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 114/163] wifi: rt2x00: fix remove callback type mismatch Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 115/163] drm/nouveau/gsp: fix potential leak of memory used during acpi init Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 116/163] wifi: mt76: mt7925: Fix null-ptr-deref in mt7925_thermal_init() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 117/163] nbd: fix uaf in nbd_genl_connect() error path Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 118/163] drm/xe/pf: Clear all LMTT pages on alloc Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 119/163] erofs: free pclusters if no cached folio is attached Greg Kroah-Hartman
2025-07-15 13:51   ` Gao Xiang
2025-07-15 13:55     ` Gao Xiang
2025-07-15 13:13 ` [PATCH 6.12 120/163] erofs: get rid of `z_erofs_next_pcluster_t` Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 121/163] erofs: tidy up zdata.c Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 122/163] erofs: refine readahead tracepoint Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 123/163] erofs: fix to add missing tracepoint in erofs_readahead() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 124/163] netfilter: flowtable: account for Ethernet header in nf_flow_pppoe_proto() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 125/163] net: appletalk: Fix device refcount leak in atrtr_create() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 126/163] ibmvnic: Fix hardcoded NUM_RX_STATS/NUM_TX_STATS with dynamic sizeof Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 127/163] net: phy: microchip: Use genphy_soft_reset() to purge stale LPA bits Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 128/163] net: phy: microchip: limit 100M workaround to link-down events on LAN88xx Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 129/163] selftests: net: lib: Move logging from forwarding/lib.sh here Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 130/163] selftests: net: lib: fix shift count out of range Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 131/163] drm/xe/pm: Correct comment of xe_pm_set_vram_threshold() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 132/163] can: m_can: m_can_handle_lost_msg(): downgrade msg lost in rx message to debug level Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 133/163] net/mlx5e: Fix race between DIM disable and net_dim() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 134/163] net/mlx5e: Add new prio for promiscuous mode Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 135/163] net: ll_temac: Fix missing tx_pending check in ethtools_set_ringparam() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 136/163] bnxt_en: Fix DCB ETS validation Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 137/163] bnxt_en: Set DMA unmap len correctly for XDP_REDIRECT Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 138/163] ublk: sanity check add_dev input for underflow Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 139/163] atm: idt77252: Add missing `dma_map_error()` Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 140/163] um: vector: Reduce stack usage in vector_eth_configure() Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 141/163] ASoC: SOF: Intel: hda: Use devm_kstrdup() to avoid memleak Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 142/163] ALSA: hda/realtek: Add mic-mute LED setup for ASUS UM5606 Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 143/163] io_uring: make fallocate be hashed work Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 144/163] ASoC: amd: yc: add quirk for Acer Nitro ANV15-41 internal mic Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 145/163] ALSA: hda/realtek - Enable mute LED on HP Pavilion Laptop 15-eg100 Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 146/163] ALSA: hda/realtek: Add quirks for some Clevo laptops Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 147/163] net: usb: qmi_wwan: add SIMCom 8230C composition Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 148/163] driver: bluetooth: hci_qca:fix unable to load the BT driver Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 149/163] HID: lenovo: Add support for ThinkPad X1 Tablet Thin Keyboard Gen2 Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 150/163] net: mana: Record doorbell physical address in PF mode Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 151/163] btrfs: fix assertion when building free space tree Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 152/163] vt: add missing notification when switching back to text mode Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 153/163] bpf: Adjust free target to avoid global starvation of LRU map Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 154/163] riscv: vdso: Exclude .rodata from the PT_DYNAMIC segment Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 155/163] HID: Add IGNORE quirk for SMARTLINKTECHNOLOGY Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 156/163] HID: quirks: Add quirk for 2 Chicony Electronics HP 5MP Cameras Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 157/163] HID: nintendo: avoid bluetooth suspend/resume stalls Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 158/163] selftests/bpf: adapt one more case in test_lru_map to the new target_free Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 159/163] erofs: fix rare pcluster memory leak after unmounting Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 160/163] net: wangxun: revert the adjustment of the IRQ vector sequence Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 161/163] kasan: remove kasan_find_vm_area() to prevent possible deadlock Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 162/163] ksmbd: fix potential use-after-free in oplock/lease break ack Greg Kroah-Hartman
2025-07-15 13:13 ` [PATCH 6.12 163/163] arm64: Filter out SME hwcaps when FEAT_SME isnt implemented Greg Kroah-Hartman
2025-07-15 17:03 ` [PATCH 6.12 000/163] 6.12.39-rc1 review Miguel Ojeda
2025-07-15 20:20 ` Pavel Machek
2025-07-16 14:51 ` Shuah Khan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250715130812.525115103@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=florian.fainelli@broadcom.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kbingham@kernel.org \
    --cc=patches@lists.linux.dev \
    --cc=sdonthineni@nvidia.com \
    --cc=stable@vger.kernel.org \
    --cc=tglx@linutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox