stable.vger.kernel.org archive mirror
 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, Vishal Verma <vishal.l.verma@intel.com>,
	Dave Jiang <dave.jiang@intel.com>,
	Dan Williams <dan.j.williams@intel.com>
Subject: [PATCH 6.0 133/197] cxl/pmem: Fix cxl_pmem_region and cxl_memdev leak
Date: Tue,  8 Nov 2022 14:39:31 +0100	[thread overview]
Message-ID: <20221108133400.999374743@linuxfoundation.org> (raw)
In-Reply-To: <20221108133354.787209461@linuxfoundation.org>

From: Dan Williams <dan.j.williams@intel.com>

commit 4d07ae22e79ebc2d7528bbc69daa53b86981cb3a upstream.

When a cxl_nvdimm object goes through a ->remove() event (device
physically removed, nvdimm-bridge disabled, or nvdimm device disabled),
then any associated regions must also be disabled. As highlighted by the
cxl-create-region.sh test [1], a single device may host multiple
regions, but the driver was only tracking one region at a time. This
leads to a situation where only the last enabled region per nvdimm
device is cleaned up properly. Other regions are leaked, and this also
causes cxl_memdev reference leaks.

Fix the tracking by allowing cxl_nvdimm objects to track multiple region
associations.

Cc: <stable@vger.kernel.org>
Link: https://github.com/pmem/ndctl/blob/main/test/cxl-create-region.sh [1]
Reported-by: Vishal Verma <vishal.l.verma@intel.com>
Fixes: 04ad63f086d1 ("cxl/region: Introduce cxl_pmem_region objects")
Reviewed-by: Dave Jiang <dave.jiang@intel.com>
Reviewed-by: Vishal Verma <vishal.l.verma@intel.com>
Link: https://lore.kernel.org/r/166752183647.947915.2045230911503793901.stgit@dwillia2-xfh.jf.intel.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/cxl/core/pmem.c |    2 
 drivers/cxl/cxl.h       |    2 
 drivers/cxl/pmem.c      |  101 ++++++++++++++++++++++++++++++------------------
 3 files changed, 68 insertions(+), 37 deletions(-)

--- a/drivers/cxl/core/pmem.c
+++ b/drivers/cxl/core/pmem.c
@@ -188,6 +188,7 @@ static void cxl_nvdimm_release(struct de
 {
 	struct cxl_nvdimm *cxl_nvd = to_cxl_nvdimm(dev);
 
+	xa_destroy(&cxl_nvd->pmem_regions);
 	kfree(cxl_nvd);
 }
 
@@ -230,6 +231,7 @@ static struct cxl_nvdimm *cxl_nvdimm_all
 
 	dev = &cxl_nvd->dev;
 	cxl_nvd->cxlmd = cxlmd;
+	xa_init(&cxl_nvd->pmem_regions);
 	device_initialize(dev);
 	lockdep_set_class(&dev->mutex, &cxl_nvdimm_key);
 	device_set_pm_not_required(dev);
--- a/drivers/cxl/cxl.h
+++ b/drivers/cxl/cxl.h
@@ -423,7 +423,7 @@ struct cxl_nvdimm {
 	struct device dev;
 	struct cxl_memdev *cxlmd;
 	struct cxl_nvdimm_bridge *bridge;
-	struct cxl_pmem_region *region;
+	struct xarray pmem_regions;
 };
 
 struct cxl_pmem_region_mapping {
--- a/drivers/cxl/pmem.c
+++ b/drivers/cxl/pmem.c
@@ -30,17 +30,20 @@ static void unregister_nvdimm(void *nvdi
 	struct cxl_nvdimm *cxl_nvd = nvdimm_provider_data(nvdimm);
 	struct cxl_nvdimm_bridge *cxl_nvb = cxl_nvd->bridge;
 	struct cxl_pmem_region *cxlr_pmem;
+	unsigned long index;
 
 	device_lock(&cxl_nvb->dev);
-	cxlr_pmem = cxl_nvd->region;
 	dev_set_drvdata(&cxl_nvd->dev, NULL);
-	cxl_nvd->region = NULL;
-	device_unlock(&cxl_nvb->dev);
+	xa_for_each(&cxl_nvd->pmem_regions, index, cxlr_pmem) {
+		get_device(&cxlr_pmem->dev);
+		device_unlock(&cxl_nvb->dev);
 
-	if (cxlr_pmem) {
 		device_release_driver(&cxlr_pmem->dev);
 		put_device(&cxlr_pmem->dev);
+
+		device_lock(&cxl_nvb->dev);
 	}
+	device_unlock(&cxl_nvb->dev);
 
 	nvdimm_delete(nvdimm);
 	cxl_nvd->bridge = NULL;
@@ -366,25 +369,49 @@ static int match_cxl_nvdimm(struct devic
 
 static void unregister_nvdimm_region(void *nd_region)
 {
-	struct cxl_nvdimm_bridge *cxl_nvb;
-	struct cxl_pmem_region *cxlr_pmem;
+	nvdimm_region_delete(nd_region);
+}
+
+static int cxl_nvdimm_add_region(struct cxl_nvdimm *cxl_nvd,
+				 struct cxl_pmem_region *cxlr_pmem)
+{
+	int rc;
+
+	rc = xa_insert(&cxl_nvd->pmem_regions, (unsigned long)cxlr_pmem,
+		       cxlr_pmem, GFP_KERNEL);
+	if (rc)
+		return rc;
+
+	get_device(&cxlr_pmem->dev);
+	return 0;
+}
+
+static void cxl_nvdimm_del_region(struct cxl_nvdimm *cxl_nvd,
+				  struct cxl_pmem_region *cxlr_pmem)
+{
+	/*
+	 * It is possible this is called without a corresponding
+	 * cxl_nvdimm_add_region for @cxlr_pmem
+	 */
+	cxlr_pmem = xa_erase(&cxl_nvd->pmem_regions, (unsigned long)cxlr_pmem);
+	if (cxlr_pmem)
+		put_device(&cxlr_pmem->dev);
+}
+
+static void release_mappings(void *data)
+{
 	int i;
+	struct cxl_pmem_region *cxlr_pmem = data;
+	struct cxl_nvdimm_bridge *cxl_nvb = cxlr_pmem->bridge;
 
-	cxlr_pmem = nd_region_provider_data(nd_region);
-	cxl_nvb = cxlr_pmem->bridge;
 	device_lock(&cxl_nvb->dev);
 	for (i = 0; i < cxlr_pmem->nr_mappings; i++) {
 		struct cxl_pmem_region_mapping *m = &cxlr_pmem->mapping[i];
 		struct cxl_nvdimm *cxl_nvd = m->cxl_nvd;
 
-		if (cxl_nvd->region) {
-			put_device(&cxlr_pmem->dev);
-			cxl_nvd->region = NULL;
-		}
+		cxl_nvdimm_del_region(cxl_nvd, cxlr_pmem);
 	}
 	device_unlock(&cxl_nvb->dev);
-
-	nvdimm_region_delete(nd_region);
 }
 
 static void cxlr_pmem_remove_resource(void *res)
@@ -422,7 +449,7 @@ static int cxl_pmem_region_probe(struct
 	if (!cxl_nvb->nvdimm_bus) {
 		dev_dbg(dev, "nvdimm bus not found\n");
 		rc = -ENXIO;
-		goto err;
+		goto out_nvb;
 	}
 
 	memset(&mappings, 0, sizeof(mappings));
@@ -431,7 +458,7 @@ static int cxl_pmem_region_probe(struct
 	res = devm_kzalloc(dev, sizeof(*res), GFP_KERNEL);
 	if (!res) {
 		rc = -ENOMEM;
-		goto err;
+		goto out_nvb;
 	}
 
 	res->name = "Persistent Memory";
@@ -442,11 +469,11 @@ static int cxl_pmem_region_probe(struct
 
 	rc = insert_resource(&iomem_resource, res);
 	if (rc)
-		goto err;
+		goto out_nvb;
 
 	rc = devm_add_action_or_reset(dev, cxlr_pmem_remove_resource, res);
 	if (rc)
-		goto err;
+		goto out_nvb;
 
 	ndr_desc.res = res;
 	ndr_desc.provider_data = cxlr_pmem;
@@ -462,7 +489,7 @@ static int cxl_pmem_region_probe(struct
 	nd_set = devm_kzalloc(dev, sizeof(*nd_set), GFP_KERNEL);
 	if (!nd_set) {
 		rc = -ENOMEM;
-		goto err;
+		goto out_nvb;
 	}
 
 	ndr_desc.memregion = cxlr->id;
@@ -472,9 +499,13 @@ static int cxl_pmem_region_probe(struct
 	info = kmalloc_array(cxlr_pmem->nr_mappings, sizeof(*info), GFP_KERNEL);
 	if (!info) {
 		rc = -ENOMEM;
-		goto err;
+		goto out_nvb;
 	}
 
+	rc = devm_add_action_or_reset(dev, release_mappings, cxlr_pmem);
+	if (rc)
+		goto out_nvd;
+
 	for (i = 0; i < cxlr_pmem->nr_mappings; i++) {
 		struct cxl_pmem_region_mapping *m = &cxlr_pmem->mapping[i];
 		struct cxl_memdev *cxlmd = m->cxlmd;
@@ -486,7 +517,7 @@ static int cxl_pmem_region_probe(struct
 			dev_dbg(dev, "[%d]: %s: no cxl_nvdimm found\n", i,
 				dev_name(&cxlmd->dev));
 			rc = -ENODEV;
-			goto err;
+			goto out_nvd;
 		}
 
 		/* safe to drop ref now with bridge lock held */
@@ -498,10 +529,17 @@ static int cxl_pmem_region_probe(struct
 			dev_dbg(dev, "[%d]: %s: no nvdimm found\n", i,
 				dev_name(&cxlmd->dev));
 			rc = -ENODEV;
-			goto err;
+			goto out_nvd;
 		}
-		cxl_nvd->region = cxlr_pmem;
-		get_device(&cxlr_pmem->dev);
+
+		/*
+		 * Pin the region per nvdimm device as those may be released
+		 * out-of-order with respect to the region, and a single nvdimm
+		 * maybe associated with multiple regions
+		 */
+		rc = cxl_nvdimm_add_region(cxl_nvd, cxlr_pmem);
+		if (rc)
+			goto out_nvd;
 		m->cxl_nvd = cxl_nvd;
 		mappings[i] = (struct nd_mapping_desc) {
 			.nvdimm = nvdimm,
@@ -527,27 +565,18 @@ static int cxl_pmem_region_probe(struct
 		nvdimm_pmem_region_create(cxl_nvb->nvdimm_bus, &ndr_desc);
 	if (!cxlr_pmem->nd_region) {
 		rc = -ENOMEM;
-		goto err;
+		goto out_nvd;
 	}
 
 	rc = devm_add_action_or_reset(dev, unregister_nvdimm_region,
 				      cxlr_pmem->nd_region);
-out:
+out_nvd:
 	kfree(info);
+out_nvb:
 	device_unlock(&cxl_nvb->dev);
 	put_device(&cxl_nvb->dev);
 
 	return rc;
-
-err:
-	dev_dbg(dev, "failed to create nvdimm region\n");
-	for (i--; i >= 0; i--) {
-		nvdimm = mappings[i].nvdimm;
-		cxl_nvd = nvdimm_provider_data(nvdimm);
-		put_device(&cxl_nvd->region->dev);
-		cxl_nvd->region = NULL;
-	}
-	goto out;
 }
 
 static struct cxl_driver cxl_pmem_region_driver = {



  parent reply	other threads:[~2022-11-08 14:13 UTC|newest]

Thread overview: 212+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-08 13:37 [PATCH 6.0 000/197] 6.0.8-rc1 review Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 001/197] usb: dwc3: gadget: Force sending delayed status during soft disconnect Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 002/197] usb: dwc3: gadget: Dont delay End Transfer on delayed_status Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 003/197] drm/i915/gvt: Add missing vfio_unregister_group_dev() call Greg Kroah-Hartman
2022-11-08 16:16   ` Alex Williamson
2022-11-08 17:24     ` Greg Kroah-Hartman
2022-11-09  7:28     ` Tian, Kevin
2022-11-08 13:37 ` [PATCH 6.0 004/197] RDMA/cma: Use output interface for net_dev check Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 005/197] IB/hfi1: Correctly move list in sc_disable() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 006/197] RDMA/hns: Disable local invalidate operation Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 007/197] RDMA/hns: Fix NULL pointer problem in free_mr_init() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 008/197] docs/process/howto: Replace C89 with C11 Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 009/197] RDMA/rxe: Fix mr leak in RESPST_ERR_RNR Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 010/197] NFSv4: Fix a potential state reclaim deadlock Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 011/197] NFSv4.1: Handle RECLAIM_COMPLETE trunking errors Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 012/197] NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 013/197] SUNRPC: Fix null-ptr-deref when xps sysfs alloc failed Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 014/197] NFSv4.2: Fixup CLONE dest file size for zero-length count Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 015/197] nfs4: Fix kmemleak when allocate slot failed Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 016/197] net: dsa: Fix possible memory leaks in dsa_loop_init() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 017/197] RDMA/core: Fix null-ptr-deref in ib_core_cleanup() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 018/197] RDMA/qedr: clean up work queue on failure in qedr_alloc_resources() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 019/197] tools/nolibc: Fix missing strlen() definition and infinite loop with gcc-12 Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 020/197] net: dsa: fall back to default tagger if we cant load the one from DT Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 021/197] nfc: fdp: Fix potential memory leak in fdp_nci_send() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 022/197] nfc: nxp-nci: Fix potential memory leak in nxp_nci_send() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 023/197] nfc: s3fwrn5: Fix potential memory leak in s3fwrn5_nci_send() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 024/197] nfc: nfcmrvl: Fix potential memory leak in nfcmrvl_i2c_nci_send() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 025/197] net: fec: fix improper use of NETDEV_TX_BUSY Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 026/197] ata: pata_legacy: fix pdc20230_set_piomode() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 027/197] ata: palmld: fix return value check in palmld_pata_probe() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 028/197] net: sched: Fix use after free in red_enqueue() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 029/197] net: tun: fix bugs for oversize packet when napi frags enabled Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 030/197] netfilter: nf_tables: netlink notifier might race to release objects Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 031/197] netfilter: nf_tables: release flow rule object from commit path Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 032/197] sfc: Fix an error handling path in efx_pci_probe() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 033/197] nfsd: fix nfsd_file_unhash_and_dispose Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 034/197] nfsd: fix net-namespace logic in __nfsd_file_cache_purge Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 035/197] net: lan966x: Fix the MTU calculation Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 036/197] net: lan966x: Adjust maximum frame size when vlan is enabled/disabled Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 037/197] net: lan966x: Fix FDMA when MTU is changed Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 038/197] net: lan966x: Fix unmapping of received frames using FDMA Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 039/197] ipvs: use explicitly signed chars Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 040/197] ipvs: fix WARNING in __ip_vs_cleanup_batch() Greg Kroah-Hartman
2022-11-08 13:37 ` [PATCH 6.0 041/197] ipvs: fix WARNING in ip_vs_app_net_cleanup() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 042/197] rose: Fix NULL pointer dereference in rose_send_frame() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 043/197] mISDN: fix possible memory leak in mISDN_register_device() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 044/197] isdn: mISDN: netjet: fix wrong check of device registration Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 045/197] btrfs: fix inode list leak during backref walking at resolve_indirect_refs() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 046/197] btrfs: fix inode list leak during backref walking at find_parent_nodes() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 047/197] btrfs: fix ulist leaks in error paths of qgroup self tests Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 048/197] netfilter: ipset: enforce documented limit to prevent allocating huge memory Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 049/197] Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 050/197] Bluetooth: hci_conn: Fix CIS connection dst_type handling Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 051/197] Bluetooth: virtio_bt: Use skb_put to set length Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 052/197] Bluetooth: L2CAP: fix use-after-free in l2cap_conn_del() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 053/197] Bluetooth: L2CAP: Fix memory leak in vhci_write Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 054/197] Bluetooth: hci_conn: Fix not restoring ISO buffer count on disconnect Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 055/197] net: mdio: fix undefined behavior in bit shift for __mdiobus_register Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 056/197] ibmvnic: Free rwi on reset success Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 057/197] stmmac: dwmac-loongson: fix invalid mdio_node Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 058/197] net/smc: Fix possible leaked pernet namespace in smc_init() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 059/197] net, neigh: Fix null-ptr-deref in neigh_table_clear() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 060/197] bridge: Fix flushing of dynamic FDB entries Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 061/197] ipv6: fix WARNING in ip6_route_net_exit_late() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 062/197] vsock: fix possible infinite sleep in vsock_connectible_wait_data() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 063/197] iio: adc: stm32-adc: fix channel sampling time init Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 064/197] media: rkisp1: Fix source pad format configuration Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 065/197] media: rkisp1: Dont pass the quantization to rkisp1_csm_config() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 066/197] media: rkisp1: Initialize color space on resizer sink and source pads Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 067/197] media: rkisp1: Use correct macro for gradient registers Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 068/197] media: rkisp1: Zero v4l2_subdev_format fields in when validating links Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 069/197] media: s5p_cec: limit msg.len to CEC_MAX_MSG_SIZE Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 070/197] media: cros-ec-cec: " Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 071/197] media: dvb-frontends/drxk: initialize err to 0 Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 072/197] media: platform: cros-ec: Add Kuldax to the match table Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 073/197] media: meson: vdec: fix possible refcount leak in vdec_probe() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 074/197] media: hantro: Store HEVC bit depth in context Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 075/197] media: hantro: HEVC: Fix auxilary buffer size calculation Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 076/197] media: hantro: HEVC: Fix chroma offset computation Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 077/197] media: v4l: subdev: Fail graciously when getting try data for NULL state Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 078/197] drm/vc4: hdmi: Check the HSM rate at runtime_resume Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 079/197] ACPI: APEI: Fix integer overflow in ghes_estatus_pool_init() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 080/197] hwrng: bcm2835 - use hwrng_msleep() instead of cpu_relax() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 081/197] io_uring: dont iopoll from io_ring_ctx_wait_and_kill() Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 082/197] scsi: core: Restrict legal sdev_state transitions via sysfs Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 083/197] HID: saitek: add madcatz variant of MMO7 mouse device ID Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 084/197] drm/amdgpu: set vm_update_mode=0 as default for Sienna Cichlid in SRIOV case Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 085/197] drm/amd/pm: skip loading pptable from driver on secure board for smu_v13_0_10 Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 086/197] drm/amdkfd: Fix type of reset_type parameter in hqd_destroy() callback Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 087/197] drm/amdgpu: Program GC registers through RLCG interface in gfx_v11/gmc_v11 Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 088/197] drm/amdgpu: dequeue mes scheduler during fini Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 089/197] nvme-pci: disable write zeroes on various Kingston SSD Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 090/197] i2c: xiic: Add platform module alias Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 091/197] bio: safeguard REQ_ALLOC_CACHE bio put Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 092/197] clk: rs9: Fix I2C accessors Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 093/197] arm64: dts: imx8mm: Enable CPLD_Dn pull down resistor on MX8Menlo Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 094/197] efi/tpm: Pass correct address to memblock_reserve Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 095/197] clk: renesas: r8a779g0: Fix HSCIF parent clocks Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 096/197] clk: qcom: Update the force mem core bit for GPU clocks Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 097/197] arm64: dts: verdin-imx8mp: fix ctrl_sleep_moci Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 098/197] arm64: dts: imx8mm: remove otg1/2 power domain dependency on hsio Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 099/197] arm64: dts: imx8mm: correct usb power domains Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 100/197] arm64: dts: imx8mn: remove otg1 power domain dependency on hsio Greg Kroah-Hartman
2022-11-08 13:38 ` [PATCH 6.0 101/197] arm64: dts: imx8mn: Correct the usb power domain Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 102/197] ARM: dts: imx6qdl-gw59{10,13}: fix user pushbutton GPIO offset Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 103/197] arm64: dts: imx8: correct clock order Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 104/197] arm64: dts: imx93: add gpio clk Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 105/197] arm64: dts: imx93: correct gpio-ranges Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 106/197] arm64: dts: lx2160a: specify clock frequencies for the MDIO controllers Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 107/197] arm64: dts: ls1088a: " Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 108/197] arm64: dts: ls208xa: " Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 109/197] drm/rockchip: dw_hdmi: filter regulator -EPROBE_DEFER error messages Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 110/197] drm/rockchip: fix fbdev on non-IOMMU devices Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 111/197] drm/i915: stop abusing swiotlb_max_segment Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 112/197] ublk_drv: return flag of UBLK_F_URING_CMD_COMP_IN_TASK in case of module Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 113/197] block: Fix possible memory leak for rq_wb on add_disk failure Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 114/197] blk-mq: Fix kmemleak in blk_mq_init_allocated_queue Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 115/197] ARM: dts: ux500: Add trips to battery thermal zones Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 116/197] firmware: arm_scmi: Suppress the drivers bind attributes Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 117/197] firmware: arm_scmi: Make Rx chan_setup fail on memory errors Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 118/197] firmware: arm_scmi: Fix devres allocation device in virtio transport Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 119/197] firmware: arm_scmi: Fix deferred_tx_wq release on error paths Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 120/197] arm64: dts: juno: Add thermal critical trip points Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 121/197] i2c: piix4: Fix adapter not be removed in piix4_remove() Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 122/197] Bluetooth: L2CAP: Fix accepting connection request for invalid SPSM Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 123/197] Bluetooth: L2CAP: Fix attempting to access uninitialized memory Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 124/197] fscrypt: stop using keyrings subsystem for fscrypt_master_key Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 125/197] fscrypt: fix keyring memory leak on mount failure Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 126/197] clk: renesas: r8a779g0: Add SASYNCPER clocks Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 127/197] btrfs: fix lost file sync on direct IO write with nowait and dsync iocb Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 128/197] btrfs: fix tree mod log mishandling of reallocated nodes Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 129/197] btrfs: fix type of parameter generation in btrfs_get_dentry Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 130/197] btrfs: dont use btrfs_chunk::sub_stripes from disk Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 131/197] btrfs: fix a memory allocation failure test in btrfs_submit_direct Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 132/197] ACPI: NUMA: Add CXL CFMWS nodes to the possible nodes set Greg Kroah-Hartman
2022-11-08 13:39 ` Greg Kroah-Hartman [this message]
2022-11-08 13:39 ` [PATCH 6.0 134/197] cxl/region: Fix decoder allocation crash Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 135/197] cxl/region: Fix region HPA ordering validation Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 136/197] cxl/region: Fix cxl_region leak, cleanup targets at region delete Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 137/197] cxl/region: Fix distance calculation with passthrough ports Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 138/197] ftrace: Fix use-after-free for dynamic ftrace_ops Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 139/197] tracing/fprobe: Fix to check whether fprobe is registered correctly Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 140/197] fprobe: Check rethook_alloc() return in rethook initialization Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 141/197] tracing: kprobe: Fix memory leak in test_gen_kprobe/kretprobe_cmd() Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 142/197] kprobe: reverse kp->flags when arm_kprobe failed Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 143/197] ring-buffer: Check for NULL cpu_buffer in ring_buffer_wake_waiters() Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 144/197] tools/nolibc/string: Fix memcmp() implementation Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 145/197] tracing/histogram: Update document for KEYS_MAX size Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 146/197] capabilities: fix potential memleak on error path from vfs_getxattr_alloc() Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 147/197] fuse: add file_modified() to fallocate Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 148/197] fuse: fix readdir cache race Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 149/197] selftests/landlock: Build without static libraries Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 150/197] efi: random: reduce seed size to 32 bytes Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 151/197] efi: random: Use ACPI reclaim memory for random seed Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 152/197] efi: efivars: Fix variable writes with unsupported query_variable_store() Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 153/197] net/ulp: remove SOCK_SUPPORT_ZC from tls sockets Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 154/197] arm64: entry: avoid kprobe recursion Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 155/197] ARM: dts: imx6dl-yapp4: Do not allow PM to switch PU regulator off on Q/QP Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 156/197] perf/x86/intel: Fix pebs event constraints for ICL Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 157/197] perf/x86/intel: Add Cooper Lake stepping to isolation_ucodes[] Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 158/197] perf/x86/intel: Fix pebs event constraints for SPR Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 159/197] net: remove SOCK_SUPPORT_ZC from sockmap Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 160/197] net: also flag accepted sockets supporting msghdr originated zerocopy Greg Kroah-Hartman
2022-11-08 13:39 ` [PATCH 6.0 161/197] parisc: Make 8250_gsc driver dependend on CONFIG_PARISC Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 162/197] parisc: Export iosapic_serial_irq() symbol for serial port driver Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 163/197] parisc: Avoid printing the hardware path twice Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 164/197] ext4: fix warning in ext4_da_release_space Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 165/197] ext4: fix BUG_ON() when directory entry has invalid rec_len Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 166/197] ext4: update the backup superblocks at the end of the online resize Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 167/197] x86/tdx: Prepare for using "INFO" call for a second purpose Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 168/197] x86/tdx: Panic on bad configs that #VE on "private" memory access Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 169/197] x86/syscall: Include asm/ptrace.h in syscall_wrapper header Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 170/197] KVM: x86: Mask off reserved bits in CPUID.80000006H Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 171/197] KVM: x86: Mask off reserved bits in CPUID.8000001AH Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 172/197] KVM: x86: Mask off reserved bits in CPUID.80000008H Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 173/197] KVM: x86: Mask off reserved bits in CPUID.80000001H Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 174/197] KVM: x86: Mask off reserved bits in CPUID.8000001FH Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 175/197] KVM: VMX: Advertise PMU LBRs if and only if perf supports LBRs Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 176/197] KVM: VMX: Fold vmx_supported_debugctl() into vcpu_supported_debugctl() Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 177/197] KVM: VMX: Ignore guest CPUID for host userspace writes to DEBUGCTL Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 178/197] KVM: VMX: fully disable SGX if SECONDARY_EXEC_ENCLS_EXITING unavailable Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 179/197] KVM: Initialize gfn_to_pfn_cache locks in dedicated helper Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 180/197] KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 181/197] KVM: arm64: Fix bad dereference on MTE-enabled systems Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 182/197] KVM: arm64: Fix SMPRI_EL1/TPIDR2_EL0 trapping on VHE Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 183/197] KVM: x86: smm: number of GPRs in the SMRAM image depends on the image format Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 184/197] KVM: x86: emulator: em_sysexit should update ctxt->mode Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 185/197] KVM: x86: emulator: introduce emulator_recalc_and_set_mode Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 186/197] KVM: x86: emulator: update the emulation mode after rsm Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 187/197] KVM: x86: emulator: update the emulation mode after CR0 write Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 188/197] ext4,f2fs: fix readahead of verity data Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 189/197] cifs: fix regression in very old smb1 mounts Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 190/197] drm/rockchip: dsi: Clean up usage_mode when failing to attach Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 191/197] drm/rockchip: dsi: Force synchronous probe Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 192/197] drm/amdgpu: disable GFXOFF during compute for GFX11 Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 193/197] drm/amd/display: Update latencies on DCN321 Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 194/197] drm/amd/display: Update DSC capabilitie for DCN314 Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 195/197] drm/i915/sdvo: Filter out invalid outputs more sensibly Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 196/197] drm/i915/sdvo: Setup DDC fully before output init Greg Kroah-Hartman
2022-11-08 13:40 ` [PATCH 6.0 197/197] wifi: brcmfmac: Fix potential buffer overflow in brcmf_fweh_event_worker() Greg Kroah-Hartman
2022-11-08 22:18 ` [PATCH 6.0 000/197] 6.0.8-rc1 review Justin Forbes
2022-11-08 22:47 ` Florian Fainelli
2022-11-08 23:05 ` Allen Pais
2022-11-08 23:45 ` Ron Economos
2022-11-09  2:54 ` Guenter Roeck
2022-11-09  9:04 ` Fenil Jain
2022-11-09  9:22 ` Naresh Kamboju
2022-11-09  9:52 ` Bagas Sanjaya
2022-11-09 11:43 ` Rudi Heitbaum
2022-11-10  1:46 ` Shuah Khan
2022-11-10 12:02 ` Sudip Mukherjee

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=20221108133400.999374743@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=dave.jiang@intel.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=vishal.l.verma@intel.com \
    /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;
as well as URLs for NNTP newsgroup(s).