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,
	"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
	"Shinichiro Kawasaki" <shinichiro.kawasaki@wdc.com>,
	"Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>
Subject: [PATCH 6.1 127/185] platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe
Date: Mon, 29 Jan 2024 09:05:27 -0800	[thread overview]
Message-ID: <20240129170002.666554204@linuxfoundation.org> (raw)
In-Reply-To: <20240129165958.589924174@linuxfoundation.org>

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

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

From: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>

commit 5913320eb0b3ec88158cfcb0fa5e996bf4ef681b upstream.

p2sb_bar() unhides P2SB device to get resources from the device. It
guards the operation by locking pci_rescan_remove_lock so that parallel
rescans do not find the P2SB device. However, this lock causes deadlock
when PCI bus rescan is triggered by /sys/bus/pci/rescan. The rescan
locks pci_rescan_remove_lock and probes PCI devices. When PCI devices
call p2sb_bar() during probe, it locks pci_rescan_remove_lock again.
Hence the deadlock.

To avoid the deadlock, do not lock pci_rescan_remove_lock in p2sb_bar().
Instead, do the lock at fs_initcall. Introduce p2sb_cache_resources()
for fs_initcall which gets and caches the P2SB resources. At p2sb_bar(),
refer the cache and return to the caller.

Before operating the device at P2SB DEVFN for resource cache, check
that its device class is PCI_CLASS_MEMORY_OTHER 0x0580 that PCH
specifications define. This avoids unexpected operation to other devices
at the same DEVFN.

Link: https://lore.kernel.org/linux-pci/6xb24fjmptxxn5js2fjrrddjae6twex5bjaftwqsuawuqqqydx@7cl3uik5ef6j/
Fixes: 9745fb07474f ("platform/x86/intel: Add Primary to Sideband (P2SB) bridge support")
Cc: stable@vger.kernel.org
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Shin'ichiro Kawasaki <shinichiro.kawasaki@wdc.com>
Link: https://lore.kernel.org/r/20240108062059.3583028-2-shinichiro.kawasaki@wdc.com
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tested-by Klara Modin <klarasmodin@gmail.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/platform/x86/p2sb.c | 180 ++++++++++++++++++++++++++++--------
 1 file changed, 139 insertions(+), 41 deletions(-)

diff --git a/drivers/platform/x86/p2sb.c b/drivers/platform/x86/p2sb.c
index 1cf2471d54dd..17cc4b45e023 100644
--- a/drivers/platform/x86/p2sb.c
+++ b/drivers/platform/x86/p2sb.c
@@ -26,6 +26,21 @@ static const struct x86_cpu_id p2sb_cpu_ids[] = {
 	{}
 };
 
+/*
+ * Cache BAR0 of P2SB device functions 0 to 7.
+ * TODO: The constant 8 is the number of functions that PCI specification
+ *       defines. Same definitions exist tree-wide. Unify this definition and
+ *       the other definitions then move to include/uapi/linux/pci.h.
+ */
+#define NR_P2SB_RES_CACHE 8
+
+struct p2sb_res_cache {
+	u32 bus_dev_id;
+	struct resource res;
+};
+
+static struct p2sb_res_cache p2sb_resources[NR_P2SB_RES_CACHE];
+
 static int p2sb_get_devfn(unsigned int *devfn)
 {
 	unsigned int fn = P2SB_DEVFN_DEFAULT;
@@ -39,8 +54,16 @@ static int p2sb_get_devfn(unsigned int *devfn)
 	return 0;
 }
 
+static bool p2sb_valid_resource(struct resource *res)
+{
+	if (res->flags)
+		return true;
+
+	return false;
+}
+
 /* Copy resource from the first BAR of the device in question */
-static int p2sb_read_bar0(struct pci_dev *pdev, struct resource *mem)
+static void p2sb_read_bar0(struct pci_dev *pdev, struct resource *mem)
 {
 	struct resource *bar0 = &pdev->resource[0];
 
@@ -56,49 +79,66 @@ static int p2sb_read_bar0(struct pci_dev *pdev, struct resource *mem)
 	mem->end = bar0->end;
 	mem->flags = bar0->flags;
 	mem->desc = bar0->desc;
-
-	return 0;
 }
 
-static int p2sb_scan_and_read(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
+static void p2sb_scan_and_cache_devfn(struct pci_bus *bus, unsigned int devfn)
 {
+	struct p2sb_res_cache *cache = &p2sb_resources[PCI_FUNC(devfn)];
 	struct pci_dev *pdev;
-	int ret;
 
 	pdev = pci_scan_single_device(bus, devfn);
 	if (!pdev)
-		return -ENODEV;
+		return;
 
-	ret = p2sb_read_bar0(pdev, mem);
+	p2sb_read_bar0(pdev, &cache->res);
+	cache->bus_dev_id = bus->dev.id;
 
 	pci_stop_and_remove_bus_device(pdev);
-	return ret;
 }
 
-/**
- * p2sb_bar - Get Primary to Sideband (P2SB) bridge device BAR
- * @bus: PCI bus to communicate with
- * @devfn: PCI slot and function to communicate with
- * @mem: memory resource to be filled in
- *
- * The BIOS prevents the P2SB device from being enumerated by the PCI
- * subsystem, so we need to unhide and hide it back to lookup the BAR.
- *
- * if @bus is NULL, the bus 0 in domain 0 will be used.
- * If @devfn is 0, it will be replaced by devfn of the P2SB device.
- *
- * Caller must provide a valid pointer to @mem.
- *
- * Locking is handled by pci_rescan_remove_lock mutex.
- *
- * Return:
- * 0 on success or appropriate errno value on error.
- */
-int p2sb_bar(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
+static int p2sb_scan_and_cache(struct pci_bus *bus, unsigned int devfn)
+{
+	unsigned int slot, fn;
+
+	if (PCI_FUNC(devfn) == 0) {
+		/*
+		 * When function number of the P2SB device is zero, scan it and
+		 * other function numbers, and if devices are available, cache
+		 * their BAR0s.
+		 */
+		slot = PCI_SLOT(devfn);
+		for (fn = 0; fn < NR_P2SB_RES_CACHE; fn++)
+			p2sb_scan_and_cache_devfn(bus, PCI_DEVFN(slot, fn));
+	} else {
+		/* Scan the P2SB device and cache its BAR0 */
+		p2sb_scan_and_cache_devfn(bus, devfn);
+	}
+
+	if (!p2sb_valid_resource(&p2sb_resources[PCI_FUNC(devfn)].res))
+		return -ENOENT;
+
+	return 0;
+}
+
+static struct pci_bus *p2sb_get_bus(struct pci_bus *bus)
+{
+	static struct pci_bus *p2sb_bus;
+
+	bus = bus ?: p2sb_bus;
+	if (bus)
+		return bus;
+
+	/* Assume P2SB is on the bus 0 in domain 0 */
+	p2sb_bus = pci_find_bus(0, 0);
+	return p2sb_bus;
+}
+
+static int p2sb_cache_resources(void)
 {
-	struct pci_dev *pdev_p2sb;
 	unsigned int devfn_p2sb;
 	u32 value = P2SBC_HIDE;
+	struct pci_bus *bus;
+	u16 class;
 	int ret;
 
 	/* Get devfn for P2SB device itself */
@@ -106,8 +146,17 @@ int p2sb_bar(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
 	if (ret)
 		return ret;
 
-	/* if @bus is NULL, use bus 0 in domain 0 */
-	bus = bus ?: pci_find_bus(0, 0);
+	bus = p2sb_get_bus(NULL);
+	if (!bus)
+		return -ENODEV;
+
+	/*
+	 * When a device with same devfn exists and its device class is not
+	 * PCI_CLASS_MEMORY_OTHER for P2SB, do not touch it.
+	 */
+	pci_bus_read_config_word(bus, devfn_p2sb, PCI_CLASS_DEVICE, &class);
+	if (!PCI_POSSIBLE_ERROR(class) && class != PCI_CLASS_MEMORY_OTHER)
+		return -ENODEV;
 
 	/*
 	 * Prevent concurrent PCI bus scan from seeing the P2SB device and
@@ -115,17 +164,16 @@ int p2sb_bar(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
 	 */
 	pci_lock_rescan_remove();
 
-	/* Unhide the P2SB device, if needed */
+	/*
+	 * The BIOS prevents the P2SB device from being enumerated by the PCI
+	 * subsystem, so we need to unhide and hide it back to lookup the BAR.
+	 * Unhide the P2SB device here, if needed.
+	 */
 	pci_bus_read_config_dword(bus, devfn_p2sb, P2SBC, &value);
 	if (value & P2SBC_HIDE)
 		pci_bus_write_config_dword(bus, devfn_p2sb, P2SBC, 0);
 
-	pdev_p2sb = pci_scan_single_device(bus, devfn_p2sb);
-	if (devfn)
-		ret = p2sb_scan_and_read(bus, devfn, mem);
-	else
-		ret = p2sb_read_bar0(pdev_p2sb, mem);
-	pci_stop_and_remove_bus_device(pdev_p2sb);
+	ret = p2sb_scan_and_cache(bus, devfn_p2sb);
 
 	/* Hide the P2SB device, if it was hidden */
 	if (value & P2SBC_HIDE)
@@ -133,12 +181,62 @@ int p2sb_bar(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
 
 	pci_unlock_rescan_remove();
 
-	if (ret)
-		return ret;
+	return ret;
+}
+
+/**
+ * p2sb_bar - Get Primary to Sideband (P2SB) bridge device BAR
+ * @bus: PCI bus to communicate with
+ * @devfn: PCI slot and function to communicate with
+ * @mem: memory resource to be filled in
+ *
+ * If @bus is NULL, the bus 0 in domain 0 will be used.
+ * If @devfn is 0, it will be replaced by devfn of the P2SB device.
+ *
+ * Caller must provide a valid pointer to @mem.
+ *
+ * Return:
+ * 0 on success or appropriate errno value on error.
+ */
+int p2sb_bar(struct pci_bus *bus, unsigned int devfn, struct resource *mem)
+{
+	struct p2sb_res_cache *cache;
+	int ret;
+
+	bus = p2sb_get_bus(bus);
+	if (!bus)
+		return -ENODEV;
+
+	if (!devfn) {
+		ret = p2sb_get_devfn(&devfn);
+		if (ret)
+			return ret;
+	}
 
-	if (mem->flags == 0)
+	cache = &p2sb_resources[PCI_FUNC(devfn)];
+	if (cache->bus_dev_id != bus->dev.id)
 		return -ENODEV;
 
+	if (!p2sb_valid_resource(&cache->res))
+		return -ENOENT;
+
+	memcpy(mem, &cache->res, sizeof(*mem));
 	return 0;
 }
 EXPORT_SYMBOL_GPL(p2sb_bar);
+
+static int __init p2sb_fs_init(void)
+{
+	p2sb_cache_resources();
+	return 0;
+}
+
+/*
+ * pci_rescan_remove_lock to avoid access to unhidden P2SB devices can
+ * not be locked in sysfs pci bus rescan path because of deadlock. To
+ * avoid the deadlock, access to P2SB devices with the lock at an early
+ * step in kernel initialization and cache required resources. This
+ * should happen after subsys_initcall which initializes PCI subsystem
+ * and before device_initcall which requires P2SB resources.
+ */
+fs_initcall(p2sb_fs_init);
-- 
2.43.0




  parent reply	other threads:[~2024-01-29 17:12 UTC|newest]

Thread overview: 201+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-29 17:03 [PATCH 6.1 000/185] 6.1.76-rc1 review Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 001/185] usb: dwc3: gadget: Refactor EP0 forced stall/restart into a separate API Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 002/185] usb: dwc3: gadget: Queue PM runtime idle on disconnect event Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 003/185] usb: dwc3: gadget: Handle EP0 request dequeuing properly Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 004/185] Revert "nSVM: Check for reserved encodings of TLB_CONTROL in nested VMCB" Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 005/185] iio: adc: ad7091r: Set alert bit in config register Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 006/185] iio: adc: ad7091r: Allow users to configure device events Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 007/185] ext4: allow for the last group to be marked as trimmed Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 008/185] arm64: properly install vmlinuz.efi Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 009/185] OPP: Pass rounded rate to _set_opp() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 010/185] btrfs: sysfs: validate scrub_speed_max value Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 011/185] crypto: api - Disallow identical driver names Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 012/185] PM: hibernate: Enforce ordering during image compression/decompression Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 013/185] hwrng: core - Fix page fault dead lock on mmap-ed hwrng Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 014/185] crypto: s390/aes - Fix buffer overread in CTR mode Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 015/185] s390/vfio-ap: unpin pages on gisc registration failure Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 016/185] PM / devfreq: Fix buffer overflow in trans_stat_show Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 017/185] media: imx355: Enable runtime PM before registering async sub-device Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 018/185] rpmsg: virtio: Free driver_override when rpmsg_remove() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 019/185] media: ov9734: Enable runtime PM before registering async sub-device Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 020/185] s390/vfio-ap: always filter entire AP matrix Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 021/185] s390/vfio-ap: loop over the shadow APCB when filtering guests AP configuration Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 022/185] s390/vfio-ap: let on_scan_complete() callback filter matrix and update guests APCB Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 023/185] mips: Fix max_mapnr being uninitialized on early stages Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 024/185] bus: mhi: host: Add alignment check for event ring read pointer Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 025/185] bus: mhi: host: Drop chan lock before queuing buffers Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 026/185] bus: mhi: host: Add spinlock to protect WP access when queueing TREs Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 027/185] parisc/firmware: Fix F-extend for PDC addresses Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 028/185] parisc/power: Fix power soft-off button emulation on qemu Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 029/185] async: Split async_schedule_node_domain() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 030/185] async: Introduce async_schedule_dev_nocall() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 031/185] iio: adc: ad7091r: Enable internal vref if external vref is not supplied Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 032/185] dmaengine: fix NULL pointer in channel unregistration function Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 033/185] scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 034/185] arm64: dts: qcom: sc7180: fix USB wakeup interrupt types Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 035/185] arm64: dts: qcom: sdm845: " Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 036/185] arm64: dts: qcom: sm8150: " Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 037/185] arm64: dts: qcom: sc7280: fix usb_1 " Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 038/185] arm64: dts: qcom: sdm845: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.1 039/185] arm64: dts: qcom: sm8150: " Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 040/185] lsm: new security_file_ioctl_compat() hook Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 041/185] docs: kernel_abi.py: fix command injection Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 042/185] scripts/get_abi: fix source path leak Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 043/185] media: videobuf2-dma-sg: fix vmap callback Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 044/185] mmc: core: Use mrq.sbc in close-ended ffu Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 045/185] mmc: mmc_spi: remove custom DMA mapped buffers Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 046/185] media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 047/185] arm64: Rename ARM64_WORKAROUND_2966298 Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 048/185] rtc: cmos: Use ACPI alarm for non-Intel x86 systems too Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 049/185] rtc: Adjust failure return code for cmos_set_alarm() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 050/185] rtc: mc146818-lib: Adjust failure return code for mc146818_get_time() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 051/185] rtc: Add support for configuring the UIP timeout for RTC reads Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 052/185] rtc: Extend timeout for waiting for UIP to clear to 1s Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 053/185] nouveau/vmm: dont set addr on the fail path to avoid warning Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 054/185] ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 055/185] mm/rmap: fix misplaced parenthesis of a likely() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 056/185] mm/sparsemem: fix race in accessing memory_section->usage Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 057/185] rename(): fix the locking of subdirectories Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 058/185] serial: sc16is7xx: improve regmap debugfs by using one regmap per port Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 059/185] serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 060/185] serial: sc16is7xx: remove global regmap from struct sc16is7xx_port Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 061/185] serial: sc16is7xx: remove unused line structure member Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 062/185] serial: sc16is7xx: change EFR lock to operate on each channels Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 063/185] serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 064/185] serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 065/185] serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 066/185] serial: sc16is7xx: improve do/while loop in sc16is7xx_irq() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 067/185] LoongArch/smp: Call rcutree_report_cpu_starting() earlier Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 068/185] mm: page_alloc: unreserve highatomic page blocks before oom Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 069/185] ksmbd: set v2 lease version on lease upgrade Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 070/185] ksmbd: fix potential circular locking issue in smb2_set_ea() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 071/185] ksmbd: dont increment epoch if current state and request state are same Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 072/185] ksmbd: send lease break notification on FILE_RENAME_INFORMATION Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 073/185] ksmbd: Add missing set_freezable() for freezable kthread Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 074/185] Revert "drm/amd: Enable PCIe PME from D3" Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 075/185] drm/amd/display: pbn_div need be updated for hotplug event Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 076/185] wifi: mac80211: fix potential sta-link leak Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 077/185] net/smc: fix illegal rmb_desc access in SMC-D connection dump Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 078/185] tcp: make sure init the accept_queues spinlocks once Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 079/185] bnxt_en: Wait for FLR to complete during probe Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 080/185] vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 081/185] llc: make llc_ui_sendmsg() more robust against bonding changes Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 082/185] llc: Drop support for ETH_P_TR_802_2 Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 083/185] udp: fix busy polling Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 084/185] net: fix removing a namespace with conflicting altnames Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 085/185] tun: fix missing dropped counter in tun_xdp_act Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 086/185] tun: add missing rx stats accounting " Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 087/185] net: micrel: Fix PTP frame parsing for lan8814 Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 088/185] net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 089/185] netfs, fscache: Prevent Oops in fscache_put_cache() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 090/185] tracing: Ensure visibility when inserting an element into tracing_map Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 091/185] afs: Hide silly-rename files from userspace Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 092/185] tcp: Add memory barrier to tcp_push() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 093/185] netlink: fix potential sleeping issue in mqueue_flush_file Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 094/185] ipv6: init the accept_queues spinlocks in inet6_create Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 095/185] net/mlx5: DR, Use the right GVMI number for drop action Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 096/185] net/mlx5: DR, Cant go to uplink vport on RX rule Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 097/185] net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 098/185] net/mlx5e: Allow software parsing when IPsec crypto is enabled Greg Kroah-Hartman
2024-01-29 20:08   ` Salvatore Bonaccorso
2024-01-29 20:12     ` Salvatore Bonaccorso
2024-01-29 20:43       ` Greg Kroah-Hartman
2024-01-30 17:10         ` Salvatore Bonaccorso
2024-01-30 18:30           ` Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.1 099/185] net/mlx5e: fix a double-free in arfs_create_groups Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 100/185] net/mlx5e: fix a potential double-free in fs_any_create_groups Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 101/185] rcu: Defer RCU kthreads wakeup when CPU is dying Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 102/185] netfilter: nft_limit: reject configurations that cause integer overflow Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 103/185] btrfs: fix infinite directory reads Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 104/185] btrfs: set last dir index to the current last index when opening dir Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 105/185] btrfs: refresh dir last index during a rewinddir(3) call Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 106/185] btrfs: fix race between reading a directory and adding entries to it Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 107/185] netfilter: nf_tables: restrict anonymous set and map names to 16 bytes Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 108/185] netfilter: nf_tables: validate NFPROTO_* family Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 109/185] net: stmmac: Wait a bit for the reset to take effect Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 110/185] net: mvpp2: clear BM pool before initialization Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 111/185] selftests: netdevsim: fix the udp_tunnel_nic test Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 112/185] fjes: fix memleaks in fjes_hw_setup Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 113/185] net: fec: fix the unhandled context fault from smmu Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 114/185] nbd: always initialize struct msghdr completely Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 115/185] btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 116/185] btrfs: ref-verify: free ref cache before clearing mount opt Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 117/185] btrfs: tree-checker: fix inline ref size in error messages Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 118/185] btrfs: dont warn if discard range is not aligned to sector Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 119/185] btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 120/185] btrfs: dont abort filesystem when attempting to snapshot deleted subvolume Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 121/185] rbd: dont move requests to the running list on errors Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 122/185] exec: Fix error handling in begin_new_exec() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 123/185] wifi: iwlwifi: fix a memory corruption Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 124/185] hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 125/185] netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 126/185] netfilter: nf_tables: reject QUEUE/DROP verdict parameters Greg Kroah-Hartman
2024-01-29 17:05 ` Greg Kroah-Hartman [this message]
2024-01-29 17:05 ` [PATCH 6.1 128/185] ksmbd: fix global oob in ksmbd_nl_policy Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 129/185] firmware: arm_scmi: Check mailbox/SMT channel for consistency Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 130/185] xfs: read only mounts with fsopen mount API are busted Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 131/185] gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 132/185] cpufreq: intel_pstate: Refine computation of P-state for given frequency Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 133/185] drm: Dont unref the same fb many times by mistake due to deadlock handling Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 134/185] drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 135/185] drm/tidss: Fix atomic_flush check Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 136/185] drm/amd/display: Disable PSR-SU on Parade 0803 TCON again Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 137/185] platform/x86: intel-uncore-freq: Fix types in sysfs callbacks Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 138/185] drm/bridge: nxp-ptn3460: simplify some error checking Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 139/185] drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 140/185] drm/amdgpu/pm: Fix the power source flag error Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 141/185] erofs: get rid of the remaining kmap_atomic() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 142/185] erofs: fix lz4 inplace decompression Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 143/185] media: ov13b10: Support device probe in non-zero ACPI D state Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 144/185] media: ov13b10: Enable runtime PM before registering async sub-device Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 145/185] bus: mhi: ep: Do not allocate event ring element on stack Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 146/185] PM: core: Remove unnecessary (void *) conversions Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 147/185] PM: sleep: Fix possible deadlocks in core system-wide PM code Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 148/185] thermal: intel: hfi: Refactor enabling code into helper functions Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 149/185] thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 150/185] thermal: intel: hfi: Add syscore callbacks for system-wide PM Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 151/185] fs/pipe: move check to pipe_has_watch_queue() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 152/185] pipe: wakeup wr_wait after setting max_usage Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 153/185] ARM: dts: qcom: sdx55: fix USB wakeup interrupt types Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 154/185] ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12 Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 155/185] ARM: dts: qcom: sdx55: fix pdc #interrupt-cells Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 156/185] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 157/185] ARM: dts: qcom: sdx55: fix USB SS wakeup Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 158/185] dlm: use kernel_connect() and kernel_bind() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.1 159/185] serial: core: Provide port lock wrappers Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 160/185] serial: sc16is7xx: Use " Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 161/185] serial: sc16is7xx: fix unconditional activation of THRI interrupt Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 162/185] btrfs: zoned: factor out prepare_allocation_zoned() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 163/185] btrfs: zoned: optimize hint byte for zoned allocator Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 164/185] drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 165/185] Revert "powerpc/64s: Increase default stack size to 32KB" Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 166/185] drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 167/185] drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33] Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 168/185] drm/bridge: sii902x: Use devm_regulator_bulk_get_enable() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 169/185] drm/bridge: sii902x: Fix probing race issue Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 170/185] drm/bridge: sii902x: Fix audio codec unregistration Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 171/185] drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 172/185] drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 173/185] drm/exynos: fix accidental on-stack copy of exynos_drm_plane Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 174/185] drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 175/185] gpio: eic-sprd: Clear interrupt after set the interrupt type Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 176/185] block: Move checking GENHD_FL_NO_PART to bdev_add_partition() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 177/185] drm/bridge: anx7625: Ensure bridge is suspended in disable() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 178/185] spi: bcm-qspi: fix SFDP BFPT read by usig mspi read Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 179/185] spi: fix finalize message on error return Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 180/185] MIPS: lantiq: register smp_ops on non-smp platforms Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 181/185] cxl/region:Fix overflow issue in alloc_hpa() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 182/185] mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 183/185] tick/sched: Preserve number of idle sleeps across CPU hotplug events Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 184/185] x86/entry/ia32: Ensure s32 is sign extended to s64 Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.1 185/185] serial: core: fix kernel-doc for uart_port_unlock_irqrestore() Greg Kroah-Hartman
2024-01-29 19:27 ` [PATCH 6.1 000/185] 6.1.76-rc1 review SeongJae Park
2024-01-29 23:16 ` Shuah Khan
2024-01-30  0:13 ` Allen
2024-01-30  1:31 ` Daniel Díaz
2024-01-30 13:01   ` Jon Hunter
2024-01-30 15:10   ` Pavel Machek
2024-01-30  3:49 ` Florian Fainelli
2024-01-30  9:52 ` Shreeya Patel
2024-01-30 20:15 ` Sven Joachim
2024-01-31  9:12 ` Yann Sionneau

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=20240129170002.666554204@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=patches@lists.linux.dev \
    --cc=shinichiro.kawasaki@wdc.com \
    --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