public inbox for stable@vger.kernel.org
 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, Gaurav Batra <gbatra@linux.vnet.ibm.com>,
	Brian King <brking@linux.vnet.ibm.com>,
	Michael Ellerman <mpe@ellerman.id.au>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.6 127/143] powerpc/pseries/iommu: IOMMU table is not initialized for kdump over SR-IOV
Date: Mon,  4 Mar 2024 21:24:07 +0000	[thread overview]
Message-ID: <20240304211553.958979702@linuxfoundation.org> (raw)
In-Reply-To: <20240304211549.876981797@linuxfoundation.org>

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

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

From: Gaurav Batra <gbatra@linux.vnet.ibm.com>

[ Upstream commit 09a3c1e46142199adcee372a420b024b4fc61051 ]

When kdump kernel tries to copy dump data over SR-IOV, LPAR panics due
to NULL pointer exception:

  Kernel attempted to read user page (0) - exploit attempt? (uid: 0)
  BUG: Kernel NULL pointer dereference on read at 0x00000000
  Faulting instruction address: 0xc000000020847ad4
  Oops: Kernel access of bad area, sig: 11 [#1]
  LE PAGE_SIZE=64K MMU=Radix SMP NR_CPUS=2048 NUMA pSeries
  Modules linked in: mlx5_core(+) vmx_crypto pseries_wdt papr_scm libnvdimm mlxfw tls psample sunrpc fuse overlay squashfs loop
  CPU: 12 PID: 315 Comm: systemd-udevd Not tainted 6.4.0-Test102+ #12
  Hardware name: IBM,9080-HEX POWER10 (raw) 0x800200 0xf000006 of:IBM,FW1060.00 (NH1060_008) hv:phyp pSeries
  NIP:  c000000020847ad4 LR: c00000002083b2dc CTR: 00000000006cd18c
  REGS: c000000029162ca0 TRAP: 0300   Not tainted  (6.4.0-Test102+)
  MSR:  800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE>  CR: 48288244  XER: 00000008
  CFAR: c00000002083b2d8 DAR: 0000000000000000 DSISR: 40000000 IRQMASK: 1
  ...
  NIP _find_next_zero_bit+0x24/0x110
  LR  bitmap_find_next_zero_area_off+0x5c/0xe0
  Call Trace:
    dev_printk_emit+0x38/0x48 (unreliable)
    iommu_area_alloc+0xc4/0x180
    iommu_range_alloc+0x1e8/0x580
    iommu_alloc+0x60/0x130
    iommu_alloc_coherent+0x158/0x2b0
    dma_iommu_alloc_coherent+0x3c/0x50
    dma_alloc_attrs+0x170/0x1f0
    mlx5_cmd_init+0xc0/0x760 [mlx5_core]
    mlx5_function_setup+0xf0/0x510 [mlx5_core]
    mlx5_init_one+0x84/0x210 [mlx5_core]
    probe_one+0x118/0x2c0 [mlx5_core]
    local_pci_probe+0x68/0x110
    pci_call_probe+0x68/0x200
    pci_device_probe+0xbc/0x1a0
    really_probe+0x104/0x540
    __driver_probe_device+0xb4/0x230
    driver_probe_device+0x54/0x130
    __driver_attach+0x158/0x2b0
    bus_for_each_dev+0xa8/0x130
    driver_attach+0x34/0x50
    bus_add_driver+0x16c/0x300
    driver_register+0xa4/0x1b0
    __pci_register_driver+0x68/0x80
    mlx5_init+0xb8/0x100 [mlx5_core]
    do_one_initcall+0x60/0x300
    do_init_module+0x7c/0x2b0

At the time of LPAR dump, before kexec hands over control to kdump
kernel, DDWs (Dynamic DMA Windows) are scanned and added to the FDT.
For the SR-IOV case, default DMA window "ibm,dma-window" is removed from
the FDT and DDW added, for the device.

Now, kexec hands over control to the kdump kernel.

When the kdump kernel initializes, PCI busses are scanned and IOMMU
group/tables created, in pci_dma_bus_setup_pSeriesLP(). For the SR-IOV
case, there is no "ibm,dma-window". The original commit: b1fc44eaa9ba,
fixes the path where memory is pre-mapped (direct mapped) to the DDW.
When TCEs are direct mapped, there is no need to initialize IOMMU
tables.

iommu_table_setparms_lpar() only considers "ibm,dma-window" property
when initiallizing IOMMU table. In the scenario where TCEs are
dynamically allocated for SR-IOV, newly created IOMMU table is not
initialized. Later, when the device driver tries to enter TCEs for the
SR-IOV device, NULL pointer execption is thrown from iommu_area_alloc().

The fix is to initialize the IOMMU table with DDW property stored in the
FDT. There are 2 points to remember:

	1. For the dedicated adapter, kdump kernel would encounter both
	   default and DDW in FDT. In this case, DDW property is used to
	   initialize the IOMMU table.

	2. A DDW could be direct or dynamic mapped. kdump kernel would
	   initialize IOMMU table and mark the existing DDW as
	   "dynamic". This works fine since, at the time of table
	   initialization, iommu_table_clear() makes some space in the
	   DDW, for some predefined number of TCEs which are needed for
	   kdump to succeed.

Fixes: b1fc44eaa9ba ("pseries/iommu/ddw: Fix kdump to work in absence of ibm,dma-window")
Signed-off-by: Gaurav Batra <gbatra@linux.vnet.ibm.com>
Reviewed-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20240125203017.61014-1-gbatra@linux.ibm.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/powerpc/platforms/pseries/iommu.c | 156 +++++++++++++++++--------
 1 file changed, 105 insertions(+), 51 deletions(-)

diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 496e16c588aaa..e8c4129697b14 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -574,29 +574,6 @@ static void iommu_table_setparms(struct pci_controller *phb,
 
 struct iommu_table_ops iommu_table_lpar_multi_ops;
 
-/*
- * iommu_table_setparms_lpar
- *
- * Function: On pSeries LPAR systems, return TCE table info, given a pci bus.
- */
-static void iommu_table_setparms_lpar(struct pci_controller *phb,
-				      struct device_node *dn,
-				      struct iommu_table *tbl,
-				      struct iommu_table_group *table_group,
-				      const __be32 *dma_window)
-{
-	unsigned long offset, size, liobn;
-
-	of_parse_dma_window(dn, dma_window, &liobn, &offset, &size);
-
-	iommu_table_setparms_common(tbl, phb->bus->number, liobn, offset, size, IOMMU_PAGE_SHIFT_4K, NULL,
-				    &iommu_table_lpar_multi_ops);
-
-
-	table_group->tce32_start = offset;
-	table_group->tce32_size = size;
-}
-
 struct iommu_table_ops iommu_table_pseries_ops = {
 	.set = tce_build_pSeries,
 	.clear = tce_free_pSeries,
@@ -724,26 +701,71 @@ struct iommu_table_ops iommu_table_lpar_multi_ops = {
  * dynamic 64bit DMA window, walking up the device tree.
  */
 static struct device_node *pci_dma_find(struct device_node *dn,
-					const __be32 **dma_window)
+					struct dynamic_dma_window_prop *prop)
 {
-	const __be32 *dw = NULL;
+	const __be32 *default_prop = NULL;
+	const __be32 *ddw_prop = NULL;
+	struct device_node *rdn = NULL;
+	bool default_win = false, ddw_win = false;
 
 	for ( ; dn && PCI_DN(dn); dn = dn->parent) {
-		dw = of_get_property(dn, "ibm,dma-window", NULL);
-		if (dw) {
-			if (dma_window)
-				*dma_window = dw;
-			return dn;
+		default_prop = of_get_property(dn, "ibm,dma-window", NULL);
+		if (default_prop) {
+			rdn = dn;
+			default_win = true;
+		}
+		ddw_prop = of_get_property(dn, DIRECT64_PROPNAME, NULL);
+		if (ddw_prop) {
+			rdn = dn;
+			ddw_win = true;
+			break;
+		}
+		ddw_prop = of_get_property(dn, DMA64_PROPNAME, NULL);
+		if (ddw_prop) {
+			rdn = dn;
+			ddw_win = true;
+			break;
 		}
-		dw = of_get_property(dn, DIRECT64_PROPNAME, NULL);
-		if (dw)
-			return dn;
-		dw = of_get_property(dn, DMA64_PROPNAME, NULL);
-		if (dw)
-			return dn;
+
+		/* At least found default window, which is the case for normal boot */
+		if (default_win)
+			break;
 	}
 
-	return NULL;
+	/* For PCI devices there will always be a DMA window, either on the device
+	 * or parent bus
+	 */
+	WARN_ON(!(default_win | ddw_win));
+
+	/* caller doesn't want to get DMA window property */
+	if (!prop)
+		return rdn;
+
+	/* parse DMA window property. During normal system boot, only default
+	 * DMA window is passed in OF. But, for kdump, a dedicated adapter might
+	 * have both default and DDW in FDT. In this scenario, DDW takes precedence
+	 * over default window.
+	 */
+	if (ddw_win) {
+		struct dynamic_dma_window_prop *p;
+
+		p = (struct dynamic_dma_window_prop *)ddw_prop;
+		prop->liobn = p->liobn;
+		prop->dma_base = p->dma_base;
+		prop->tce_shift = p->tce_shift;
+		prop->window_shift = p->window_shift;
+	} else if (default_win) {
+		unsigned long offset, size, liobn;
+
+		of_parse_dma_window(rdn, default_prop, &liobn, &offset, &size);
+
+		prop->liobn = cpu_to_be32((u32)liobn);
+		prop->dma_base = cpu_to_be64(offset);
+		prop->tce_shift = cpu_to_be32(IOMMU_PAGE_SHIFT_4K);
+		prop->window_shift = cpu_to_be32(order_base_2(size));
+	}
+
+	return rdn;
 }
 
 static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus)
@@ -751,17 +773,20 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus)
 	struct iommu_table *tbl;
 	struct device_node *dn, *pdn;
 	struct pci_dn *ppci;
-	const __be32 *dma_window = NULL;
+	struct dynamic_dma_window_prop prop;
 
 	dn = pci_bus_to_OF_node(bus);
 
 	pr_debug("pci_dma_bus_setup_pSeriesLP: setting up bus %pOF\n",
 		 dn);
 
-	pdn = pci_dma_find(dn, &dma_window);
+	pdn = pci_dma_find(dn, &prop);
 
-	if (dma_window == NULL)
-		pr_debug("  no ibm,dma-window property !\n");
+	/* In PPC architecture, there will always be DMA window on bus or one of the
+	 * parent bus. During reboot, there will be ibm,dma-window property to
+	 * define DMA window. For kdump, there will at least be default window or DDW
+	 * or both.
+	 */
 
 	ppci = PCI_DN(pdn);
 
@@ -771,13 +796,24 @@ static void pci_dma_bus_setup_pSeriesLP(struct pci_bus *bus)
 	if (!ppci->table_group) {
 		ppci->table_group = iommu_pseries_alloc_group(ppci->phb->node);
 		tbl = ppci->table_group->tables[0];
-		if (dma_window) {
-			iommu_table_setparms_lpar(ppci->phb, pdn, tbl,
-						  ppci->table_group, dma_window);
 
-			if (!iommu_init_table(tbl, ppci->phb->node, 0, 0))
-				panic("Failed to initialize iommu table");
-		}
+		iommu_table_setparms_common(tbl, ppci->phb->bus->number,
+				be32_to_cpu(prop.liobn),
+				be64_to_cpu(prop.dma_base),
+				1ULL << be32_to_cpu(prop.window_shift),
+				be32_to_cpu(prop.tce_shift), NULL,
+				&iommu_table_lpar_multi_ops);
+
+		/* Only for normal boot with default window. Doesn't matter even
+		 * if we set these with DDW which is 64bit during kdump, since
+		 * these will not be used during kdump.
+		 */
+		ppci->table_group->tce32_start = be64_to_cpu(prop.dma_base);
+		ppci->table_group->tce32_size = 1 << be32_to_cpu(prop.window_shift);
+
+		if (!iommu_init_table(tbl, ppci->phb->node, 0, 0))
+			panic("Failed to initialize iommu table");
+
 		iommu_register_group(ppci->table_group,
 				pci_domain_nr(bus), 0);
 		pr_debug("  created table: %p\n", ppci->table_group);
@@ -968,6 +1004,12 @@ static void find_existing_ddw_windows_named(const char *name)
 			continue;
 		}
 
+		/* If at the time of system initialization, there are DDWs in OF,
+		 * it means this is during kexec. DDW could be direct or dynamic.
+		 * We will just mark DDWs as "dynamic" since this is kdump path,
+		 * no need to worry about perforance. ddw_list_new_entry() will
+		 * set window->direct = false.
+		 */
 		window = ddw_list_new_entry(pdn, dma64);
 		if (!window) {
 			of_node_put(pdn);
@@ -1524,8 +1566,8 @@ static void pci_dma_dev_setup_pSeriesLP(struct pci_dev *dev)
 {
 	struct device_node *pdn, *dn;
 	struct iommu_table *tbl;
-	const __be32 *dma_window = NULL;
 	struct pci_dn *pci;
+	struct dynamic_dma_window_prop prop;
 
 	pr_debug("pci_dma_dev_setup_pSeriesLP: %s\n", pci_name(dev));
 
@@ -1538,7 +1580,7 @@ static void pci_dma_dev_setup_pSeriesLP(struct pci_dev *dev)
 	dn = pci_device_to_OF_node(dev);
 	pr_debug("  node is %pOF\n", dn);
 
-	pdn = pci_dma_find(dn, &dma_window);
+	pdn = pci_dma_find(dn, &prop);
 	if (!pdn || !PCI_DN(pdn)) {
 		printk(KERN_WARNING "pci_dma_dev_setup_pSeriesLP: "
 		       "no DMA window found for pci dev=%s dn=%pOF\n",
@@ -1551,8 +1593,20 @@ static void pci_dma_dev_setup_pSeriesLP(struct pci_dev *dev)
 	if (!pci->table_group) {
 		pci->table_group = iommu_pseries_alloc_group(pci->phb->node);
 		tbl = pci->table_group->tables[0];
-		iommu_table_setparms_lpar(pci->phb, pdn, tbl,
-				pci->table_group, dma_window);
+
+		iommu_table_setparms_common(tbl, pci->phb->bus->number,
+				be32_to_cpu(prop.liobn),
+				be64_to_cpu(prop.dma_base),
+				1ULL << be32_to_cpu(prop.window_shift),
+				be32_to_cpu(prop.tce_shift), NULL,
+				&iommu_table_lpar_multi_ops);
+
+		/* Only for normal boot with default window. Doesn't matter even
+		 * if we set these with DDW which is 64bit during kdump, since
+		 * these will not be used during kdump.
+		 */
+		pci->table_group->tce32_start = be64_to_cpu(prop.dma_base);
+		pci->table_group->tce32_size = 1 << be32_to_cpu(prop.window_shift);
 
 		iommu_init_table(tbl, pci->phb->node, 0, 0);
 		iommu_register_group(pci->table_group,
-- 
2.43.0




  parent reply	other threads:[~2024-03-04 21:41 UTC|newest]

Thread overview: 156+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-04 21:22 [PATCH 6.6 000/143] 6.6.21-rc1 review Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 001/143] btrfs: fix deadlock with fiemap and extent locking Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 002/143] ubifs: fix possible dereference after free Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 003/143] ASoC: cs35l34: Fix GPIO name and drop legacy include Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 004/143] ksmbd: fix wrong allocation size update in smb2_open() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 005/143] ublk: move ublk_cancel_dev() out of ub->mutex Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 006/143] mtd: spinand: gigadevice: Fix the get ecc status issue Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 007/143] spi: cadence-qspi: fix pointer reference in runtime PM hooks Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 008/143] netlink: Fix kernel-infoleak-after-free in __skb_datagram_iter Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 009/143] netlink: add nla be16/32 types to minlen array Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 010/143] net: ip_tunnel: prevent perpetual headroom growth Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 011/143] net: mctp: take ownership of skb in mctp_local_output Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 012/143] net: dpaa: fman_memac: accept phy-interface-type = "10gbase-r" in the device tree Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 013/143] tun: Fix xdp_rxq_infos queue_index when detaching Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 014/143] cpufreq: intel_pstate: fix pstate limits enforcement for adjust_perf call back Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 015/143] net: veth: clear GRO when clearing XDP even when down Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 016/143] ipv6: fix potential "struct net" leak in inet6_rtm_getaddr() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 017/143] lan78xx: enable auto speed configuration for LAN7850 if no EEPROM is detected Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 018/143] veth: try harder when allocating queue memory Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 019/143] net: usb: dm9601: fix wrong return value in dm9601_mdio_read Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 020/143] net: lan78xx: fix "softirq work is pending" error Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 021/143] uapi: in6: replace temporary label with rfc9486 Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 022/143] stmmac: Clear variable when destroying workqueue Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 023/143] Bluetooth: hci_sync: Check the correct flag before starting a scan Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 024/143] Bluetooth: Avoid potential use-after-free in hci_error_reset Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 025/143] Bluetooth: hci_sync: Fix accept_list when attempting to suspend Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 026/143] Bluetooth: hci_event: Fix wrongly recorded wakeup BD_ADDR Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 027/143] Bluetooth: hci_event: Fix handling of HCI_EV_IO_CAPA_REQUEST Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 028/143] Bluetooth: Enforce validation on max value of connection interval Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 029/143] Bluetooth: qca: Fix wrong event type for patch config command Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 030/143] Bluetooth: hci_qca: Set BDA quirk bit if fwnode exists in DT Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 031/143] Bluetooth: qca: Fix triggering coredump implementation Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 032/143] netfilter: nf_tables: allow NFPROTO_INET in nft_(match/target)_validate() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 033/143] netfilter: bridge: confirm multicast packets before passing them up the stack Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 034/143] tools: ynl: fix handling of multiple mcast groups Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 035/143] rtnetlink: fix error logic of IFLA_BRIDGE_FLAGS writing back Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 036/143] igb: extend PTP timestamp adjustments to i211 Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 037/143] net: hsr: Use correct offset for HSR TLV values in supervisory HSR frames Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 038/143] tls: decrement decrypt_pending if no async completion will be called Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 039/143] tls: fix peeking with sync+async decryption Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 040/143] tls: separate no-async decryption request handling from async Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 041/143] tls: fix use-after-free on failed backlog decryption Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 042/143] efi/capsule-loader: fix incorrect allocation size Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 043/143] power: supply: bq27xxx-i2c: Do not free non existing IRQ Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 044/143] ASoC: cs35l56: Must clear HALO_STATE before issuing SYSTEM_RESET Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 045/143] ALSA: Drop leftover snd-rtctimer stuff from Makefile Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 046/143] ASoC: soc.h: convert asoc_xxx() to snd_soc_xxx() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 047/143] ASoC: qcom: convert not to use asoc_xxx() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 048/143] ASoC: qcom: Fix uninitialized pointer dmactl Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 049/143] riscv: Fix build error if !CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 050/143] ASoC: cs35l56: cs35l56_component_remove() must clear cs35l56->component Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 051/143] ASoC: cs35l56: cs35l56_component_remove() must clean up wm_adsp Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 052/143] ASoC: cs35l56: Dont add the same register patch multiple times Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 053/143] ASoC: cs35l56: Fix for initializing ASP1 mixer registers Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 054/143] ASoC: cs35l56: Fix misuse of wm_adsp part string for silicon revision Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 055/143] ASoC: cs35l56: Fix deadlock in ASP1 mixer register initialization Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 056/143] ASoC: soc-card: Fix missing locking in snd_soc_card_get_kcontrol() Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 057/143] RISC-V: Ignore V from the riscv,isa DT property on older T-Head CPUs Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 058/143] drm/tegra: Remove existing framebuffer only if we support display Greg Kroah-Hartman
2024-03-04 21:22 ` [PATCH 6.6 059/143] fbcon: always restore the old font data in fbcon_do_set_font() Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 060/143] afs: Fix endless loop in directory parsing Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 061/143] drivers: perf: added capabilities for legacy PMU Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 062/143] drivers: perf: ctr_get_width function for legacy is not defined Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 063/143] Revert "riscv: mm: support Svnapot in huge vmap" Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 064/143] riscv: Fix pte_leaf_size() for NAPOT Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 065/143] riscv: Sparse-Memory/vmemmap out-of-bounds fix Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 066/143] btrfs: fix race between ordered extent completion and fiemap Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 067/143] of: property: fw_devlink: Fix stupid bug in remote-endpoint parsing Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 068/143] tomoyo: fix UAF write bug in tomoyo_write_control() Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 069/143] ALSA: firewire-lib: fix to check cycle continuity Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 070/143] ALSA: ump: Fix the discard error code from snd_ump_legacy_open() Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 071/143] ALSA: hda/realtek: tas2781: enable subwoofer volume control Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 072/143] ALSA: hda/realtek: Enable Mute LED on HP 840 G8 (MB 8AB8) Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 073/143] ALSA: hda/realtek: fix mute/micmute LED For HP mt440 Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 074/143] ALSA: hda/realtek: Add special fixup for Lenovo 14IRP8 Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 075/143] Bluetooth: hci_bcm4377: do not mark valid bd_addr as invalid Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 076/143] landlock: Fix asymmetric private inodes referring Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 077/143] gtp: fix use-after-free and null-ptr-deref in gtp_newlink() Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 078/143] mm: cachestat: fix folio read-after-free in cache walk Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 079/143] mtd: rawnand: marvell: fix layouts Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 080/143] wifi: nl80211: reject iftype change with mesh ID change Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 081/143] btrfs: fix double free of anonymous device after snapshot creation failure Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 082/143] btrfs: dev-replace: properly validate device names Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 083/143] btrfs: send: dont issue unnecessary zero writes for trailing hole Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 084/143] Revert "drm/amd/pm: resolve reboot exception for si oland" Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 085/143] drm/buddy: fix range bias Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 086/143] drm/amd/display: Add monitor patch for specific eDP Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 087/143] soc: qcom: pmic_glink: Fix boot when QRTR=m Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 088/143] dmaengine: fsl-qdma: fix SoC may hang on 16 byte unaligned read Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 089/143] crypto: arm64/neonbs - fix out-of-bounds access on short input Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 090/143] dmaengine: ptdma: use consistent DMA masks Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 091/143] dmaengine: fsl-edma: correct calculation of nbytes in multi-fifo scenario Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 092/143] dmaengine: fsl-qdma: init irq after reg initialization Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 093/143] mmc: mmci: stm32: fix DMA API overlapping mappings warning Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 094/143] mmc: core: Fix eMMC initialization with 1-bit bus connection Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 095/143] mmc: sdhci-xenon: add timeout for PHY init complete Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 096/143] mmc: sdhci-xenon: fix PHY init clock stability Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 097/143] RISC-V: Drop invalid test from CONFIG_AS_HAS_OPTION_ARCH Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 098/143] riscv: add CALLER_ADDRx support Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 099/143] kbuild: Add -Wa,--fatal-warnings to as-instr invocation Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 100/143] iommufd: Fix iopt_access_list_id overwrite bug Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 101/143] efivarfs: Request at most 512 bytes for variable names Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 102/143] pmdomain: qcom: rpmhpd: Fix enabled_corner aggregation Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 103/143] mm/debug_vm_pgtable: fix BUG_ON with pud advanced test Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 104/143] x86/e820: Dont reserve SETUP_RNG_SEED in e820 Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 105/143] x86/cpu/intel: Detect TME keyid bits before setting MTRR mask registers Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 106/143] mptcp: map v4 address to v6 when destroying subflow Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 107/143] mptcp: avoid printing warning once on client side Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 108/143] mptcp: push at DSS boundaries Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 109/143] selftests: mptcp: join: add ss mptcp support check Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 110/143] mptcp: fix snd_wnd initialization for passive socket Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 111/143] mptcp: fix potential wake-up event loss Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 112/143] mptcp: fix double-free on socket dismantle Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 113/143] mptcp: fix possible deadlock in subflow diag Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 114/143] NFS: Fix data corruption caused by congestion Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 115/143] af_unix: Fix task hung while purging oob_skb in GC Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 116/143] af_unix: Drop oob_skb ref before purging queue " Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 117/143] ASoC: cs35l56: fix reversed if statement in cs35l56_dspwait_asp1tx_put() Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 118/143] dmaengine: dw-edma: Fix the ch_count hdma callback Greg Kroah-Hartman
2024-03-04 21:23 ` [PATCH 6.6 119/143] dmaengine: dw-edma: Fix wrong interrupt bit set for HDMA Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 120/143] dmaengine: dw-edma: HDMA_V0_REMOTEL_STOP_INT_EN typo fix Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 121/143] dmaengine: dw-edma: Add HDMA remote interrupt configuration Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 122/143] dmaengine: dw-edma: HDMA: Add sync read before starting the DMA transfer in remote setup Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 123/143] dmaengine: dw-edma: eDMA: " Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 124/143] phy: freescale: phy-fsl-imx8-mipi-dphy: Fix alias name to use dashes Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 125/143] dmaengine: idxd: Remove shadow Event Log head stored in idxd Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 126/143] dmaengine: idxd: Ensure safe user copy of completion record Greg Kroah-Hartman
2024-03-04 21:24 ` Greg Kroah-Hartman [this message]
2024-03-04 21:24 ` [PATCH 6.6 128/143] powerpc/rtas: use correct function name for resetting TCE tables Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 129/143] gpio: 74x164: Enable output pins after registers are reset Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 130/143] gpiolib: Fix the error path order in gpiochip_add_data_with_key() Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 131/143] gpio: fix resource unwinding order in error path Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 132/143] block: define bvec_iter as __packed __aligned(4) Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 133/143] x86/entry_64: Add VERW just before userspace transition Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 134/143] x86/entry_32: " Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 135/143] x86/bugs: Use ALTERNATIVE() instead of mds_user_clear static key Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 136/143] KVM/VMX: Use BT+JNC, i.e. EFLAGS.CF to select VMRESUME vs. VMLAUNCH Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 137/143] KVM/VMX: Move VERW closer to VMentry for MDS mitigation Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 138/143] selftests: mptcp: add evts_get_info helper Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 139/143] selftests: mptcp: add chk_subflows_total helper Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 140/143] selftests: mptcp: update userspace pm test helpers Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 141/143] selftests: mptcp: add mptcp_lib_is_v6 Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 142/143] selftests: mptcp: rm subflow with v4/v4mapped addr Greg Kroah-Hartman
2024-03-04 21:24 ` [PATCH 6.6 143/143] drm/nouveau: dont fini scheduler before entity flush Greg Kroah-Hartman
2024-03-04 22:48 ` [PATCH 6.6 000/143] 6.6.21-rc1 review SeongJae Park
2024-03-05  1:06   ` Luna Jernberg
2024-03-05  4:17 ` Bagas Sanjaya
2024-03-05  4:26 ` Ron Economos
2024-03-05  9:29 ` Takeshi Ogasawara
2024-03-05 10:58 ` Jon Hunter
2024-03-05 11:44 ` Harshit Mogalapalli
2024-03-05 18:56 ` Shuah Khan
2024-03-05 23:06 ` Florian Fainelli
2024-03-06 12:55 ` Naresh Kamboju
2024-03-06 14:55   ` Luna Jernberg
2024-03-06 19:08 ` Allen

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=20240304211553.958979702@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=brking@linux.vnet.ibm.com \
    --cc=gbatra@linux.vnet.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /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