stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Kiwoong Kim <kwmad.kim@samsung.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Linus Walleij <linus.walleij@linaro.org>
Subject: [PATCH 5.4 023/184] mmc: core: Fix hanging on I/O during system suspend for removable cards
Date: Mon, 10 May 2021 12:18:37 +0200	[thread overview]
Message-ID: <20210510101950.998299292@linuxfoundation.org> (raw)
In-Reply-To: <20210510101950.200777181@linuxfoundation.org>

From: Ulf Hansson <ulf.hansson@linaro.org>

commit 17a17bf50612e6048a9975450cf1bd30f93815b5 upstream.

The mmc core uses a PM notifier to temporarily during system suspend, turn
off the card detection mechanism for removal/insertion of (e)MMC/SD/SDIO
cards. Additionally, the notifier may be used to remove an SDIO card
entirely, if a corresponding SDIO functional driver don't have the system
suspend/resume callbacks assigned. This behaviour has been around for a
very long time.

However, a recent bug report tells us there are problems with this
approach. More precisely, when receiving the PM_SUSPEND_PREPARE
notification, we may end up hanging on I/O to be completed, thus also
preventing the system from getting suspended.

In the end what happens, is that the cancel_delayed_work_sync() in
mmc_pm_notify() ends up waiting for mmc_rescan() to complete - and since
mmc_rescan() wants to claim the host, it needs to wait for the I/O to be
completed first.

Typically, this problem is triggered in Android, if there is ongoing I/O
while the user decides to suspend, resume and then suspend the system
again. This due to that after the resume, an mmc_rescan() work gets punted
to the workqueue, which job is to verify that the card remains inserted
after the system has resumed.

To fix this problem, userspace needs to become frozen to suspend the I/O,
prior to turning off the card detection mechanism. Therefore, let's drop
the PM notifiers for mmc subsystem altogether and rely on the card
detection to be turned off/on as a part of the system_freezable_wq, that we
are already using.

Moreover, to allow and SDIO card to be removed during system suspend, let's
manage this from a ->prepare() callback, assigned at the mmc_host_class
level. In this way, we can use the parent device (the mmc_host_class
device), to remove the card device that is the child, in the
device_prepare() phase.

Reported-by: Kiwoong Kim <kwmad.kim@samsung.com>
Cc: stable@vger.kernel.org # v4.5+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20210310152900.149380-1-ulf.hansson@linaro.org
Reviewed-by: Kiwoong Kim <kwmad.kim@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/mmc/core/core.c  |   74 -----------------------------------------------
 drivers/mmc/core/core.h  |    8 -----
 drivers/mmc/core/host.c  |   40 +++++++++++++++++++++++--
 drivers/mmc/core/sdio.c  |   28 +++++++++++++----
 include/linux/mmc/host.h |    3 -
 5 files changed, 59 insertions(+), 94 deletions(-)

--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -2392,80 +2392,6 @@ void mmc_stop_host(struct mmc_host *host
 	mmc_release_host(host);
 }
 
-#ifdef CONFIG_PM_SLEEP
-/* Do the card removal on suspend if card is assumed removeable
- * Do that in pm notifier while userspace isn't yet frozen, so we will be able
-   to sync the card.
-*/
-static int mmc_pm_notify(struct notifier_block *notify_block,
-			unsigned long mode, void *unused)
-{
-	struct mmc_host *host = container_of(
-		notify_block, struct mmc_host, pm_notify);
-	unsigned long flags;
-	int err = 0;
-
-	switch (mode) {
-	case PM_HIBERNATION_PREPARE:
-	case PM_SUSPEND_PREPARE:
-	case PM_RESTORE_PREPARE:
-		spin_lock_irqsave(&host->lock, flags);
-		host->rescan_disable = 1;
-		spin_unlock_irqrestore(&host->lock, flags);
-		cancel_delayed_work_sync(&host->detect);
-
-		if (!host->bus_ops)
-			break;
-
-		/* Validate prerequisites for suspend */
-		if (host->bus_ops->pre_suspend)
-			err = host->bus_ops->pre_suspend(host);
-		if (!err)
-			break;
-
-		if (!mmc_card_is_removable(host)) {
-			dev_warn(mmc_dev(host),
-				 "pre_suspend failed for non-removable host: "
-				 "%d\n", err);
-			/* Avoid removing non-removable hosts */
-			break;
-		}
-
-		/* Calling bus_ops->remove() with a claimed host can deadlock */
-		host->bus_ops->remove(host);
-		mmc_claim_host(host);
-		mmc_detach_bus(host);
-		mmc_power_off(host);
-		mmc_release_host(host);
-		host->pm_flags = 0;
-		break;
-
-	case PM_POST_SUSPEND:
-	case PM_POST_HIBERNATION:
-	case PM_POST_RESTORE:
-
-		spin_lock_irqsave(&host->lock, flags);
-		host->rescan_disable = 0;
-		spin_unlock_irqrestore(&host->lock, flags);
-		_mmc_detect_change(host, 0, false);
-
-	}
-
-	return 0;
-}
-
-void mmc_register_pm_notifier(struct mmc_host *host)
-{
-	host->pm_notify.notifier_call = mmc_pm_notify;
-	register_pm_notifier(&host->pm_notify);
-}
-
-void mmc_unregister_pm_notifier(struct mmc_host *host)
-{
-	unregister_pm_notifier(&host->pm_notify);
-}
-#endif
-
 static int __init mmc_init(void)
 {
 	int ret;
--- a/drivers/mmc/core/core.h
+++ b/drivers/mmc/core/core.h
@@ -94,14 +94,6 @@ int mmc_execute_tuning(struct mmc_card *
 int mmc_hs200_to_hs400(struct mmc_card *card);
 int mmc_hs400_to_hs200(struct mmc_card *card);
 
-#ifdef CONFIG_PM_SLEEP
-void mmc_register_pm_notifier(struct mmc_host *host);
-void mmc_unregister_pm_notifier(struct mmc_host *host);
-#else
-static inline void mmc_register_pm_notifier(struct mmc_host *host) { }
-static inline void mmc_unregister_pm_notifier(struct mmc_host *host) { }
-#endif
-
 void mmc_wait_for_req_done(struct mmc_host *host, struct mmc_request *mrq);
 bool mmc_is_req_done(struct mmc_host *host, struct mmc_request *mrq);
 
--- a/drivers/mmc/core/host.c
+++ b/drivers/mmc/core/host.c
@@ -33,6 +33,42 @@
 
 static DEFINE_IDA(mmc_host_ida);
 
+#ifdef CONFIG_PM_SLEEP
+static int mmc_host_class_prepare(struct device *dev)
+{
+	struct mmc_host *host = cls_dev_to_mmc_host(dev);
+
+	/*
+	 * It's safe to access the bus_ops pointer, as both userspace and the
+	 * workqueue for detecting cards are frozen at this point.
+	 */
+	if (!host->bus_ops)
+		return 0;
+
+	/* Validate conditions for system suspend. */
+	if (host->bus_ops->pre_suspend)
+		return host->bus_ops->pre_suspend(host);
+
+	return 0;
+}
+
+static void mmc_host_class_complete(struct device *dev)
+{
+	struct mmc_host *host = cls_dev_to_mmc_host(dev);
+
+	_mmc_detect_change(host, 0, false);
+}
+
+static const struct dev_pm_ops mmc_host_class_dev_pm_ops = {
+	.prepare = mmc_host_class_prepare,
+	.complete = mmc_host_class_complete,
+};
+
+#define MMC_HOST_CLASS_DEV_PM_OPS (&mmc_host_class_dev_pm_ops)
+#else
+#define MMC_HOST_CLASS_DEV_PM_OPS NULL
+#endif
+
 static void mmc_host_classdev_release(struct device *dev)
 {
 	struct mmc_host *host = cls_dev_to_mmc_host(dev);
@@ -43,6 +79,7 @@ static void mmc_host_classdev_release(st
 static struct class mmc_host_class = {
 	.name		= "mmc_host",
 	.dev_release	= mmc_host_classdev_release,
+	.pm		= MMC_HOST_CLASS_DEV_PM_OPS,
 };
 
 int mmc_register_host_class(void)
@@ -477,8 +514,6 @@ int mmc_add_host(struct mmc_host *host)
 #endif
 
 	mmc_start_host(host);
-	mmc_register_pm_notifier(host);
-
 	return 0;
 }
 
@@ -494,7 +529,6 @@ EXPORT_SYMBOL(mmc_add_host);
  */
 void mmc_remove_host(struct mmc_host *host)
 {
-	mmc_unregister_pm_notifier(host);
 	mmc_stop_host(host);
 
 #ifdef CONFIG_DEBUG_FS
--- a/drivers/mmc/core/sdio.c
+++ b/drivers/mmc/core/sdio.c
@@ -924,21 +924,37 @@ out:
  */
 static int mmc_sdio_pre_suspend(struct mmc_host *host)
 {
-	int i, err = 0;
+	int i;
 
 	for (i = 0; i < host->card->sdio_funcs; i++) {
 		struct sdio_func *func = host->card->sdio_func[i];
 		if (func && sdio_func_present(func) && func->dev.driver) {
 			const struct dev_pm_ops *pmops = func->dev.driver->pm;
-			if (!pmops || !pmops->suspend || !pmops->resume) {
+			if (!pmops || !pmops->suspend || !pmops->resume)
 				/* force removal of entire card in that case */
-				err = -ENOSYS;
-				break;
-			}
+				goto remove;
 		}
 	}
 
-	return err;
+	return 0;
+
+remove:
+	if (!mmc_card_is_removable(host)) {
+		dev_warn(mmc_dev(host),
+			 "missing suspend/resume ops for non-removable SDIO card\n");
+		/* Don't remove a non-removable card - we can't re-detect it. */
+		return 0;
+	}
+
+	/* Remove the SDIO card and let it be re-detected later on. */
+	mmc_sdio_remove(host);
+	mmc_claim_host(host);
+	mmc_detach_bus(host);
+	mmc_power_off(host);
+	mmc_release_host(host);
+	host->pm_flags = 0;
+
+	return 0;
 }
 
 /*
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -281,9 +281,6 @@ struct mmc_host {
 	u32			ocr_avail_sdio;	/* SDIO-specific OCR */
 	u32			ocr_avail_sd;	/* SD-specific OCR */
 	u32			ocr_avail_mmc;	/* MMC-specific OCR */
-#ifdef CONFIG_PM_SLEEP
-	struct notifier_block	pm_notify;
-#endif
 	u32			max_current_330;
 	u32			max_current_300;
 	u32			max_current_180;



  parent reply	other threads:[~2021-05-10 10:25 UTC|newest]

Thread overview: 202+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-10 10:18 [PATCH 5.4 000/184] 5.4.118-rc1 review Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 001/184] s390/disassembler: increase ebpf disasm buffer size Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 002/184] ACPI: custom_method: fix potential use-after-free issue Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 003/184] ACPI: custom_method: fix a possible memory leak Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 004/184] ftrace: Handle commands when closing set_ftrace_filter file Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 005/184] ARM: 9056/1: decompressor: fix BSS size calculation for LLVM ld.lld Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 006/184] arm64: dts: marvell: armada-37xx: add syscon compatible to NB clk node Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 007/184] arm64: dts: mt8173: fix property typo of phys in dsi node Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 008/184] ecryptfs: fix kernel panic with null dev_name Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 009/184] mtd: spinand: core: add missing MODULE_DEVICE_TABLE() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 010/184] mtd: rawnand: atmel: Update ecc_stats.corrected counter Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 011/184] erofs: add unsupported inode i_format check Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 012/184] spi: spi-ti-qspi: Free DMA resources Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 013/184] scsi: qla2xxx: Fix crash in qla2xxx_mqueuecommand() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 014/184] scsi: mpt3sas: Block PCI config access from userspace during reset Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 015/184] mmc: uniphier-sd: Fix an error handling path in uniphier_sd_probe() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 016/184] mmc: uniphier-sd: Fix a resource leak in the remove function Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 017/184] mmc: sdhci: Check for reset prior to DMA address unmap Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 018/184] mmc: sdhci-pci: Fix initialization of some SD cards for Intel BYT-based controllers Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 019/184] mmc: block: Update ext_csd.cache_ctrl if it was written Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 020/184] mmc: block: Issue a cache flush only when its enabled Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 021/184] mmc: core: Do a power cycle when the CMD11 fails Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 022/184] mmc: core: Set read only for SD cards with permanent write protect bit Greg Kroah-Hartman
2021-05-10 10:18 ` Greg Kroah-Hartman [this message]
2021-05-10 10:18 ` [PATCH 5.4 024/184] modules: mark ref_module static Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 025/184] modules: mark find_symbol static Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 026/184] modules: mark each_symbol_section static Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 027/184] modules: unexport __module_text_address Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 028/184] modules: unexport __module_address Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 029/184] modules: rename the licence field in struct symsearch to license Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 030/184] modules: return licensing information from find_symbol Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 031/184] modules: inherit TAINT_PROPRIETARY_MODULE Greg Kroah-Hartman
2021-06-18  8:57   ` Krzysztof Kozlowski
2021-06-18  8:59     ` Krzysztof Kozlowski
2021-06-18  9:21       ` Greg Kroah-Hartman
2021-06-18  9:07     ` David Laight
2021-06-18  9:19       ` Greg Kroah-Hartman
2021-06-18  9:20         ` Krzysztof Kozlowski
2021-06-18  9:19     ` Greg Kroah-Hartman
2021-06-18  9:22       ` Krzysztof Kozlowski
2021-06-18  9:29         ` Greg Kroah-Hartman
2021-06-18  9:41           ` Krzysztof Kozlowski
2021-05-10 10:18 ` [PATCH 5.4 032/184] irqchip/gic-v3: Do not enable irqs when handling spurious interrups Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 033/184] cifs: Return correct error code from smb2_get_enc_key Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 034/184] btrfs: fix metadata extent leak after failure to create subvolume Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 035/184] intel_th: pci: Add Rocket Lake CPU support Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 036/184] posix-timers: Preserve return value in clock_adjtime32() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 037/184] fbdev: zero-fill colormap in fbcmap.c Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 038/184] bus: ti-sysc: Probe for l4_wkup and l4_cfg interconnect devices first Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 039/184] staging: wimax/i2400m: fix byte-order issue Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 040/184] spi: ath79: always call chipselect function Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 041/184] spi: ath79: remove spi-master setup and cleanup assignment Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 042/184] crypto: api - check for ERR pointers in crypto_destroy_tfm() Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 043/184] crypto: qat - fix unmap invalid dma address Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 044/184] usb: gadget: uvc: add bInterval checking for HS mode Greg Kroah-Hartman
2021-05-10 10:18 ` [PATCH 5.4 045/184] usb: webcam: Invalid size of Processing Unit Descriptor Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 046/184] genirq/matrix: Prevent allocation counter corruption Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 047/184] usb: gadget: f_uac2: validate input parameters Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 048/184] usb: gadget: f_uac1: " Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 049/184] usb: dwc3: gadget: Ignore EP queue requests during bus reset Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 050/184] usb: xhci: Fix port minor revision Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 051/184] PCI: PM: Do not read power state in pci_enable_device_flags() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 052/184] x86/build: Propagate $(CLANG_FLAGS) to $(REALMODE_FLAGS) Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 053/184] tee: optee: do not check memref size on return from Secure World Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 054/184] perf/arm_pmu_platform: Fix error handling Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 055/184] usb: xhci-mtk: support quirk to disable usb2 lpm Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 056/184] xhci: check control context is valid before dereferencing it Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 057/184] xhci: fix potential array out of bounds with several interrupters Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 058/184] spi: dln2: Fix reference leak to master Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 059/184] spi: omap-100k: " Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 060/184] spi: qup: fix PM reference leak in spi_qup_remove() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 061/184] usb: musb: fix PM reference leak in musb_irq_work() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 062/184] usb: core: hub: Fix PM reference leak in usb_port_resume() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 063/184] tty: n_gsm: check error while registering tty devices Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 064/184] intel_th: Consistency and off-by-one fix Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 065/184] phy: phy-twl4030-usb: Fix possible use-after-free in twl4030_usb_remove() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 066/184] crypto: stm32/hash - Fix PM reference leak on stm32-hash.c Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 067/184] crypto: stm32/cryp - Fix PM reference leak on stm32-cryp.c Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 068/184] crypto: omap-aes - Fix PM reference leak on omap-aes.c Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 069/184] platform/x86: intel_pmc_core: Dont use global pmcdev in quirks Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 070/184] btrfs: convert logic BUG_ON()s in replace_path to ASSERT()s Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 071/184] drm: Added orientation quirk for OneGX1 Pro Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 072/184] drm/qxl: release shadow on shutdown Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 073/184] drm/amd/display: Check for DSC support instead of ASIC revision Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 074/184] drm/amd/display: Dont optimize bandwidth before disabling planes Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 075/184] scsi: lpfc: Fix incorrect dbde assignment when building target abts wqe Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 076/184] scsi: lpfc: Fix pt2pt connection does not recover after LOGO Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 077/184] scsi: target: pscsi: Fix warning in pscsi_complete_cmd() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 078/184] media: ite-cir: check for receive overflow Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 079/184] media: drivers: media: pci: sta2x11: fix Kconfig dependency on GPIOLIB Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 080/184] media: imx: capture: Return -EPIPE from __capture_legacy_try_fmt() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 081/184] power: supply: bq27xxx: fix power_avg for newer ICs Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 082/184] extcon: arizona: Fix some issues when HPDET IRQ fires after the jack has been unplugged Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 083/184] extcon: arizona: Fix various races on driver unbind Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 084/184] media: media/saa7164: fix saa7164_encoder_register() memory leak bugs Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 085/184] media: gspca/sq905.c: fix uninitialized variable Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 086/184] power: supply: Use IRQF_ONESHOT Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 087/184] drm/amdgpu: mask the xgmi number of hops reported from psp to kfd Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 088/184] drm/amdkfd: Fix UBSAN shift-out-of-bounds warning Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 089/184] drm/amdgpu : Fix asic reset regression issue introduce by 8f211fe8ac7c4f Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 090/184] drm/amd/display: Fix UBSAN warning for not a valid value for type _Bool Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 091/184] drm/amd/display: fix dml prefetch validation Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 092/184] scsi: qla2xxx: Always check the return value of qla24xx_get_isp_stats() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 093/184] drm/vkms: fix misuse of WARN_ON Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 094/184] scsi: qla2xxx: Fix use after free in bsg Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 095/184] mmc: sdhci-pci: Add PCI IDs for Intel LKF Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 096/184] ata: ahci: Disable SXS for Hisilicon Kunpeng920 Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 097/184] scsi: smartpqi: Correct request leakage during reset operations Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 098/184] scsi: smartpqi: Add new PCI IDs Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 099/184] scsi: scsi_dh_alua: Remove check for ASC 24h in alua_rtpg() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 100/184] media: em28xx: fix memory leak Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 101/184] media: vivid: update EDID Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 102/184] clk: socfpga: arria10: Fix memory leak of socfpga_clk on error return Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 103/184] power: supply: generic-adc-battery: fix possible use-after-free in gab_remove() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 104/184] power: supply: s3c_adc_battery: fix possible use-after-free in s3c_adc_bat_remove() Greg Kroah-Hartman
2021-05-10 10:19 ` [PATCH 5.4 105/184] media: tc358743: fix possible use-after-free in tc358743_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 106/184] media: adv7604: fix possible use-after-free in adv76xx_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 107/184] media: i2c: adv7511-v4l2: fix possible use-after-free in adv7511_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 108/184] media: i2c: tda1997: Fix possible use-after-free in tda1997x_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 109/184] media: i2c: adv7842: fix possible use-after-free in adv7842_remove() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 110/184] media: platform: sti: Fix runtime PM imbalance in regs_show Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 111/184] media: dvb-usb: fix memory leak in dvb_usb_adapter_init Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 112/184] media: gscpa/stv06xx: fix memory leak Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 113/184] sched/fair: Ignore percpu threads for imbalance pulls Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 114/184] drm/msm/mdp5: Configure PP_SYNC_HEIGHT to double the vtotal Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 115/184] drm/msm/mdp5: Do not multiply vclk line count by 100 Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 116/184] drm/amdkfd: Fix cat debugfs hang_hws file causes system crash bug Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 117/184] amdgpu: avoid incorrect %hu format string Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 118/184] drm/amdgpu: fix NULL pointer dereference Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 119/184] scsi: lpfc: Fix crash when a REG_RPI mailbox fails triggering a LOGO response Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 120/184] scsi: lpfc: Fix error handling for mailboxes completed in MBX_POLL mode Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 121/184] scsi: lpfc: Remove unsupported mbox PORT_CAPABILITIES logic Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 122/184] mfd: arizona: Fix rumtime PM imbalance on error Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 123/184] scsi: libfc: Fix a format specifier Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 124/184] s390/archrandom: add parameter check for s390_arch_random_generate Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 125/184] ALSA: emu8000: Fix a use after free in snd_emu8000_create_mixer Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 126/184] ALSA: hda/conexant: Re-order CX5066 quirk table entries Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 127/184] ALSA: sb: Fix two use after free in snd_sb_qsound_build Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 128/184] ALSA: usb-audio: Explicitly set up the clock selector Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 129/184] ALSA: usb-audio: More constifications Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 130/184] ALSA: usb-audio: Add dB range mapping for Sennheiser Communications Headset PC 8 Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 131/184] ALSA: hda/realtek: GA503 use same quirks as GA401 Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 132/184] ALSA: hda/realtek: fix mic boost on Intel NUC 8 Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 133/184] ALSA: hda/realtek: fix static noise on ALC285 Lenovo laptops Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 134/184] ALSA: hda/realtek: Add quirk for Intel Clevo PCx0Dx Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 135/184] btrfs: fix race when picking most recent mod log operation for an old root Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 136/184] arm64/vdso: Discard .note.gnu.property sections in vDSO Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 137/184] Makefile: Move -Wno-unused-but-set-variable out of GCC only block Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 138/184] virtiofs: fix memory leak in virtio_fs_probe() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 139/184] ubifs: Only check replay with inode type to judge if inode linked Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 140/184] f2fs: fix to avoid out-of-bounds memory access Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 141/184] mlxsw: spectrum_mr: Update egress RIF list before routes action Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 142/184] openvswitch: fix stack OOB read while fragmenting IPv4 packets Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 143/184] ACPI: GTDT: Dont corrupt interrupt mappings on watchdow probe failure Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 144/184] NFS: Dont discard pNFS layout segments that are marked for return Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 145/184] NFSv4: Dont discard segments marked for return in _pnfs_return_layout() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 146/184] Input: ili210x - add missing negation for touch indication on ili210x Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 147/184] jffs2: Fix kasan slab-out-of-bounds problem Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 148/184] powerpc/eeh: Fix EEH handling for hugepages in ioremap space Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 149/184] powerpc: fix EDEADLOCK redefinition error in uapi/asm/errno.h Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 150/184] intel_th: pci: Add Alder Lake-M support Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 151/184] tpm: efi: Use local variable for calculating final log size Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 152/184] tpm: vtpm_proxy: Avoid reading host log when using a virtual device Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 153/184] crypto: rng - fix crypto_rng_reset() refcounting when !CRYPTO_STATS Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 154/184] md/raid1: properly indicate failure when ending a failed write request Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 155/184] dm raid: fix inconclusive reshape layout on fast raid4/5/6 table reload sequences Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 156/184] fuse: fix write deadlock Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 157/184] security: commoncap: fix -Wstringop-overread warning Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 158/184] Fix misc new gcc warnings Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 159/184] jffs2: check the validity of dstlen in jffs2_zlib_compress() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 160/184] Revert 337f13046ff0 ("futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op") Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 161/184] x86/cpu: Initialize MSR_TSC_AUX if RDTSCP *or* RDPID is supported Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 162/184] kbuild: update config_data.gz only when the content of .config is changed Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 163/184] ext4: fix check to prevent false positive report of incorrect used inodes Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 164/184] ext4: do not set SB_ACTIVE in ext4_orphan_cleanup() Greg Kroah-Hartman
2021-05-10 10:20 ` [PATCH 5.4 165/184] ext4: fix error code in ext4_commit_super Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 166/184] media: dvbdev: Fix memory leak in dvb_media_device_free() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 167/184] media: dvb-usb: Fix use-after-free access Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 168/184] media: dvb-usb: Fix memory leak at error in dvb_usb_device_init() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 169/184] media: staging/intel-ipu3: Fix memory leak in imu_fmt Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 170/184] media: staging/intel-ipu3: Fix set_fmt error handling Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 171/184] media: staging/intel-ipu3: Fix race condition during set_fmt Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 172/184] usb: gadget: dummy_hcd: fix gpf in gadget_setup Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 173/184] usb: gadget: Fix double free of device descriptor pointers Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 174/184] usb: gadget/function/f_fs string table fix for multiple languages Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 175/184] usb: dwc3: gadget: Fix START_TRANSFER link state check Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 176/184] usb: dwc2: Fix session request interrupt handler Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 177/184] tty: fix memory leak in vc_deallocate Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 178/184] rsi: Use resume_noirq for SDIO Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 179/184] tracing: Map all PIDs to command lines Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 180/184] tracing: Restructure trace_clock_global() to never block Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 181/184] dm persistent data: packed struct should have an aligned() attribute too Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 182/184] dm space map common: fix division bug in sm_ll_find_free_block() Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 183/184] dm integrity: fix missing goto in bitmap_flush_interval error handling Greg Kroah-Hartman
2021-05-10 10:21 ` [PATCH 5.4 184/184] dm rq: fix double free of blk_mq_tag_set in dev remove after table load fails Greg Kroah-Hartman
2021-05-10 12:42 ` [PATCH 5.4 000/184] 5.4.118-rc1 review Jon Hunter
2021-05-10 14:31 ` Florian Fainelli
2021-05-10 22:15 ` Guenter Roeck
2021-05-10 22:15 ` Shuah Khan
2021-05-11  7:32 ` Naresh Kamboju
2021-05-11  9:21 ` Sudip Mukherjee
2021-05-11 12:03 ` Samuel Zou

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=20210510101950.998299292@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=kwmad.kim@samsung.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=ulf.hansson@linaro.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;
as well as URLs for NNTP newsgroup(s).