public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
	Ulf Hansson <ulf.hansson@linaro.org>,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-pm@vger.kernel.org
Subject: [PATCH AUTOSEL 4.19 179/671] driver core: Fix possible supplier PM-usage counter imbalance
Date: Thu, 16 Jan 2020 11:51:28 -0500	[thread overview]
Message-ID: <20200116165940.10720-62-sashal@kernel.org> (raw)
In-Reply-To: <20200116165940.10720-1-sashal@kernel.org>

From: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>

[ Upstream commit 4c06c4e6cf63d7f3d5dfe62593a073253d750a59 ]

If a stateless device link to a certain supplier with
DL_FLAG_PM_RUNTIME set in the flags is added and then removed by the
consumer driver's probe callback, the supplier's PM-runtime usage
counter will be nonzero after that which effectively causes the
supplier to remain "always on" going forward.

Namely, device_link_add() called to add the link invokes
device_link_rpm_prepare() which notices that the consumer driver is
probing, so it increments the supplier's PM-runtime usage counter
with the assumption that the link will stay around until
pm_runtime_put_suppliers() is called by driver_probe_device(),
but if the link goes away before that point, the supplier's
PM-runtime usage counter will remain nonzero.

To prevent that from happening, first rework pm_runtime_get_suppliers()
and pm_runtime_put_suppliers() to use the rpm_active refounts of device
links and make the latter only drop rpm_active and the supplier's
PM-runtime usage counter for each link by one, unless rpm_active is
one already for it.  Next, modify device_link_add() to bump up the
new link's rpm_active refcount and the suppliers PM-runtime usage
counter by two, to prevent pm_runtime_put_suppliers(), if it is
called subsequently, from suspending the supplier prematurely (in
case its PM-runtime usage counter goes down to 0 in there).

Due to the way rpm_put_suppliers() works, this change does not
affect runtime suspend of the consumer ends of new device links (or,
generally, device links for which DL_FLAG_PM_RUNTIME has just been
set).

Fixes: e2f3cd831a28 ("driver core: Fix handling of runtime PM flags in device_link_add()")
Reported-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Tested-by: Ulf Hansson <ulf.hansson@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/base/core.c          | 21 ++++-----------------
 drivers/base/power/runtime.c | 27 +++++++++++++++++++++++++--
 include/linux/pm_runtime.h   |  4 ++++
 3 files changed, 33 insertions(+), 19 deletions(-)

diff --git a/drivers/base/core.c b/drivers/base/core.c
index 7599147d5f83..ab08211ba5d2 100644
--- a/drivers/base/core.c
+++ b/drivers/base/core.c
@@ -165,19 +165,6 @@ void device_pm_move_to_tail(struct device *dev)
 	device_links_read_unlock(idx);
 }
 
-static void device_link_rpm_prepare(struct device *consumer,
-				    struct device *supplier)
-{
-	pm_runtime_new_link(consumer);
-	/*
-	 * If the link is being added by the consumer driver at probe time,
-	 * balance the decrementation of the supplier's runtime PM usage counter
-	 * after consumer probe in driver_probe_device().
-	 */
-	if (consumer->links.status == DL_DEV_PROBING)
-		pm_runtime_get_noresume(supplier);
-}
-
 /**
  * device_link_add - Create a link between two devices.
  * @consumer: Consumer end of the link.
@@ -262,11 +249,11 @@ struct device_link *device_link_add(struct device *consumer,
 
 		if (flags & DL_FLAG_PM_RUNTIME) {
 			if (!(link->flags & DL_FLAG_PM_RUNTIME)) {
-				device_link_rpm_prepare(consumer, supplier);
+				pm_runtime_new_link(consumer);
 				link->flags |= DL_FLAG_PM_RUNTIME;
 			}
 			if (flags & DL_FLAG_RPM_ACTIVE)
-				refcount_inc(&link->rpm_active);
+				pm_runtime_active_link(link, supplier);
 		}
 
 		kref_get(&link->kref);
@@ -281,9 +268,9 @@ struct device_link *device_link_add(struct device *consumer,
 
 	if (flags & DL_FLAG_PM_RUNTIME) {
 		if (flags & DL_FLAG_RPM_ACTIVE)
-			refcount_inc(&link->rpm_active);
+			pm_runtime_active_link(link, supplier);
 
-		device_link_rpm_prepare(consumer, supplier);
+		pm_runtime_new_link(consumer);
 	}
 
 	get_device(supplier);
diff --git a/drivers/base/power/runtime.c b/drivers/base/power/runtime.c
index ab454c4533ba..0527890b4c19 100644
--- a/drivers/base/power/runtime.c
+++ b/drivers/base/power/runtime.c
@@ -1570,8 +1570,10 @@ void pm_runtime_get_suppliers(struct device *dev)
 	idx = device_links_read_lock();
 
 	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
-		if (link->flags & DL_FLAG_PM_RUNTIME)
+		if (link->flags & DL_FLAG_PM_RUNTIME) {
+			refcount_inc(&link->rpm_active);
 			pm_runtime_get_sync(link->supplier);
+		}
 
 	device_links_read_unlock(idx);
 }
@@ -1588,7 +1590,8 @@ void pm_runtime_put_suppliers(struct device *dev)
 	idx = device_links_read_lock();
 
 	list_for_each_entry_rcu(link, &dev->links.suppliers, c_node)
-		if (link->flags & DL_FLAG_PM_RUNTIME)
+		if (link->flags & DL_FLAG_PM_RUNTIME &&
+		    refcount_dec_not_one(&link->rpm_active))
 			pm_runtime_put(link->supplier);
 
 	device_links_read_unlock(idx);
@@ -1601,6 +1604,26 @@ void pm_runtime_new_link(struct device *dev)
 	spin_unlock_irq(&dev->power.lock);
 }
 
+/**
+ * pm_runtime_active_link - Set up new device link as active for PM-runtime.
+ * @link: Device link to be set up as active.
+ * @supplier: Supplier end of the link.
+ *
+ * Add 2 to the rpm_active refcount of @link and increment the PM-runtime
+ * usage counter of @supplier once more in case the link is being added while
+ * the consumer driver is probing and pm_runtime_put_suppliers() will be called
+ * subsequently.
+ *
+ * Note that this doesn't prevent rpm_put_suppliers() from decreasing the link's
+ * rpm_active refcount down to one, so runtime suspend of the consumer end of
+ * @link is not affected.
+ */
+void pm_runtime_active_link(struct device_link *link, struct device *supplier)
+{
+	refcount_add(2, &link->rpm_active);
+	pm_runtime_get_noresume(supplier);
+}
+
 void pm_runtime_drop_link(struct device *dev)
 {
 	spin_lock_irq(&dev->power.lock);
diff --git a/include/linux/pm_runtime.h b/include/linux/pm_runtime.h
index f0fc4700b6ff..bace7df51af4 100644
--- a/include/linux/pm_runtime.h
+++ b/include/linux/pm_runtime.h
@@ -59,6 +59,8 @@ extern void pm_runtime_clean_up_links(struct device *dev);
 extern void pm_runtime_get_suppliers(struct device *dev);
 extern void pm_runtime_put_suppliers(struct device *dev);
 extern void pm_runtime_new_link(struct device *dev);
+extern void pm_runtime_active_link(struct device_link *link,
+				   struct device *supplier);
 extern void pm_runtime_drop_link(struct device *dev);
 
 static inline void pm_suspend_ignore_children(struct device *dev, bool enable)
@@ -176,6 +178,8 @@ static inline void pm_runtime_clean_up_links(struct device *dev) {}
 static inline void pm_runtime_get_suppliers(struct device *dev) {}
 static inline void pm_runtime_put_suppliers(struct device *dev) {}
 static inline void pm_runtime_new_link(struct device *dev) {}
+static inline void pm_runtime_active_link(struct device_link *link,
+					  struct device *supplier) {}
 static inline void pm_runtime_drop_link(struct device *dev) {}
 
 #endif /* !CONFIG_PM */
-- 
2.20.1


  parent reply	other threads:[~2020-01-16 17:01 UTC|newest]

Thread overview: 146+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-16 16:50 [PATCH AUTOSEL 4.19 118/671] media: s5p-jpeg: Correct step and max values for V4L2_CID_JPEG_RESTART_INTERVAL Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 119/671] kbuild: mark prepare0 as PHONY to fix external module build Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 120/671] crypto: brcm - Fix some set-but-not-used warning Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 121/671] crypto: tgr192 - fix unaligned memory access Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 122/671] ASoC: imx-sgtl5000: put of nodes if finding codec fails Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 123/671] IB/iser: Pass the correct number of entries for dma mapped SGL Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 124/671] net: hns3: fix wrong combined count returned by ethtool -l Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 125/671] media: tw9910: Unregister subdevice with v4l2-async Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 126/671] IB/mlx5: Don't override existing ip_protocol Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 127/671] rtc: cmos: ignore bogus century byte Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 128/671] spi/topcliff_pch: Fix potential NULL dereference on allocation error Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 129/671] net: hns3: fix bug of ethtool_ops.get_channels for VF Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 130/671] ARM: dts: sun8i-a23-a33: Move NAND controller device node to sort by address Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 131/671] clk: sunxi-ng: sun8i-a23: Enable PLL-MIPI LDOs when ungating it Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 132/671] iwlwifi: mvm: avoid possible access out of array Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 133/671] net/mlx5: Take lock with IRQs disabled to avoid deadlock Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 134/671] ip_tunnel: Fix route fl4 init in ip_md_tunnel_xmit Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 135/671] arm64: dts: allwinner: h6: Move GIC device node fix base address ordering Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 136/671] iwlwifi: mvm: fix A-MPDU reference assignment Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 137/671] bus: ti-sysc: Fix timer handling with drop pm_runtime_irq_safe() Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 138/671] tty: ipwireless: Fix potential NULL pointer dereference Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 139/671] driver: uio: fix possible memory leak in __uio_register_device Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 140/671] driver: uio: fix possible use-after-free " Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 141/671] crypto: crypto4xx - Fix wrong ppc4xx_trng_probe()/ppc4xx_trng_remove() arguments Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 142/671] driver core: Fix DL_FLAG_AUTOREMOVE_SUPPLIER device link flag handling Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 143/671] driver core: Avoid careless re-use of existing device links Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 144/671] driver core: Do not resume suppliers under device_links_write_lock() Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 145/671] driver core: Fix handling of runtime PM flags in device_link_add() Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 146/671] driver core: Do not call rpm_put_suppliers() in pm_runtime_drop_link() Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 147/671] ARM: dts: lpc32xx: add required clocks property to keypad device node Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 148/671] ARM: dts: lpc32xx: reparent keypad controller to SIC1 Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 149/671] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller variant Sasha Levin
2020-01-16 16:50 ` [PATCH AUTOSEL 4.19 150/671] ARM: dts: lpc32xx: fix ARM PrimeCell LCD controller clocks property Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 151/671] ARM: dts: lpc32xx: phy3250: fix SD card regulator voltage Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 152/671] drm/xen-front: Fix mmap attributes for display buffers Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 153/671] iwlwifi: mvm: fix RSS config command Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 154/671] staging: most: cdev: add missing check for cdev_add failure Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 155/671] clk: ingenic: jz4740: Fix gating of UDC clock Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 156/671] rtc: ds1672: fix unintended sign extension Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 157/671] thermal: mediatek: fix register index error Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 158/671] arm64: dts: msm8916: remove bogus argument to the cpu clock Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 159/671] ath10k: fix dma unmap direction for management frames Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 160/671] net: phy: fixed_phy: Fix fixed_phy not checking GPIO Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 161/671] rtc: ds1307: rx8130: Fix alarm handling Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 162/671] net/smc: original socket family in inet_sock_diag Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 163/671] rtc: 88pm860x: fix unintended sign extension Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 164/671] rtc: 88pm80x: " Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 165/671] rtc: pm8xxx: " Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 166/671] fbdev: chipsfb: remove set but not used variable 'size' Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 167/671] iw_cxgb4: use tos when importing the endpoint Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 168/671] iw_cxgb4: use tos when finding ipv6 routes Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 169/671] ipmi: kcs_bmc: handle devm_kasprintf() failure case Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 170/671] xsk: add missing smp_rmb() in xsk_mmap Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 171/671] drm/etnaviv: potential NULL dereference Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 172/671] ntb_hw_switchtec: debug print 64bit aligned crosslink BAR Numbers Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 173/671] ntb_hw_switchtec: NT req id mapping table register entry number should be 512 Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 174/671] pinctrl: sh-pfc: emev2: Add missing pinmux functions Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 175/671] pinctrl: sh-pfc: r8a7791: Fix scifb2_data_c pin group Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 176/671] pinctrl: sh-pfc: r8a7792: Fix vin1_data18_b " Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 177/671] pinctrl: sh-pfc: sh73a0: Fix fsic_spdif pin groups Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 178/671] RDMA/mlx5: Fix memory leak in case we fail to add an IB device Sasha Levin
2020-01-16 16:51 ` Sasha Levin [this message]
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 180/671] PCI: endpoint: functions: Use memcpy_fromio()/memcpy_toio() Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 181/671] usb: phy: twl6030-usb: fix possible use-after-free on remove Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 182/671] block: don't use bio->bi_vcnt to figure out segment number Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 183/671] keys: Timestamp new keys Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 184/671] net: dsa: b53: Fix default VLAN ID Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 185/671] net: dsa: b53: Properly account for VLAN filtering Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 186/671] net: dsa: b53: Do not program CPU port's PVID Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 187/671] mt76: usb: fix possible memory leak in mt76u_buf_free Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 188/671] media: sh: migor: Include missing dma-mapping header Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 189/671] vfio_pci: Enable memory accesses before calling pci_map_rom Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 190/671] hwmon: (pmbus/tps53679) Fix driver info initialization in probe routine Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 191/671] mdio_bus: Fix PTR_ERR() usage after initialization to constant Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 192/671] KVM: PPC: Release all hardware TCE tables attached to a group Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 193/671] staging: r8822be: check kzalloc return or bail Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 194/671] dmaengine: mv_xor: Use correct device for DMA API Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 195/671] cdc-wdm: pass return value of recover_from_urb_loss Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 196/671] brcmfmac: create debugfs files for bus-specific layer Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 197/671] regulator: pv88060: Fix array out-of-bounds access Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 198/671] regulator: pv88080: " Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 199/671] regulator: pv88090: " Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 200/671] net: dsa: qca8k: Enable delay for RGMII_ID mode Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 201/671] net/mlx5: Delete unused FPGA QPN variable Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 202/671] drm/nouveau/bios/ramcfg: fix missing parentheses when calculating RON Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 203/671] drm/nouveau/pmu: don't print reply values if exec is false Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 204/671] drm/nouveau: fix missing break in switch statement Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 205/671] driver core: Fix PM-runtime for links added during consumer probe Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 206/671] ASoC: qcom: Fix of-node refcount unbalance in apq8016_sbc_parse_of() Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 207/671] net: dsa: fix unintended change of bridge interface STP state Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 208/671] fs/nfs: Fix nfs_parse_devname to not modify it's argument Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 209/671] staging: rtlwifi: Use proper enum for return in halmac_parse_psd_data_88xx Sasha Levin
2020-01-16 16:51 ` [PATCH AUTOSEL 4.19 210/671] powerpc/64s: Fix logic when handling unknown CPU features Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 211/671] NFS: Fix a soft lockup in the delegation recovery code Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 212/671] perf: Copy parent's address filter offsets on clone Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 213/671] perf, pt, coresight: Fix address filters for vmas with non-zero offset Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 214/671] clocksource/drivers/sun5i: Fail gracefully when clock rate is unavailable Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 215/671] clocksource/drivers/exynos_mct: Fix error path in timer resources initialization Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 216/671] platform/x86: wmi: fix potential null pointer dereference Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 217/671] NFS/pnfs: Bulk destroy of layouts needs to be safe w.r.t. umount Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 218/671] mmc: sdhci-brcmstb: handle mmc_of_parse() errors during probe Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 219/671] iommu: Fix IOMMU debugfs fallout Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 220/671] ARM: 8847/1: pm: fix HYP/SVC mode mismatch when MCPM is used Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 221/671] ARM: 8848/1: virt: Align GIC version check with arm64 counterpart Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 222/671] ARM: 8849/1: NOMMU: Fix encodings for PMSAv8's PRBAR4/PRLAR4 Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 223/671] regulator: wm831x-dcdc: Fix list of wm831x_dcdc_ilim from mA to uA Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 224/671] ath10k: Fix length of wmi tlv command for protected mgmt frames Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 225/671] netfilter: nft_set_hash: fix lookups with fixed size hash on big endian Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 226/671] netfilter: nft_set_hash: bogus element self comparison from deactivation path Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 227/671] net: sched: act_csum: Fix csum calc for tagged packets Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 228/671] hwrng: bcm2835 - fix probe as platform device Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 229/671] iommu/vt-d: Fix NULL pointer reference in intel_svm_bind_mm() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 230/671] NFS: Add missing encode / decode sequence_maxsz to v4.2 operations Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 231/671] NFSv4/flexfiles: Fix invalid deref in FF_LAYOUT_DEVID_NODE() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 232/671] net: aquantia: fixed instack structure overflow Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 233/671] powerpc/mm: Check secondary hash page table Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 234/671] media: dvb/earth-pt1: fix wrong initialization for demod blocks Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 235/671] rbd: clear ->xferred on error from rbd_obj_issue_copyup() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 236/671] PCI: Fix "try" semantics of bus and slot reset Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 237/671] nios2: ksyms: Add missing symbol exports Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 238/671] x86/mm: Remove unused variable 'cpu' Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 239/671] scsi: megaraid_sas: reduce module load time Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 240/671] nfp: fix simple vNIC mailbox length Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 241/671] drivers/rapidio/rio_cm.c: fix potential oops in riocm_ch_listen() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 242/671] xen, cpu_hotplug: Prevent an out of bounds access Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 243/671] net/mlx5: Fix multiple updates of steering rules in parallel Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 244/671] net/mlx5e: IPoIB, Fix RX checksum statistics update Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 245/671] net: sh_eth: fix a missing check of of_get_phy_mode Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 246/671] regulator: lp87565: Fix missing register for LP87565_BUCK_0 Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 247/671] soc: amlogic: gx-socinfo: Add mask for each SoC packages Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 248/671] media: ivtv: update *pos correctly in ivtv_read_pos() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 249/671] media: cx18: update *pos correctly in cx18_read_pos() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 250/671] media: wl128x: Fix an error code in fm_download_firmware() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 251/671] media: cx23885: check allocation return Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 252/671] regulator: tps65086: Fix tps65086_ldoa1_ranges for selector 0xB Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 253/671] crypto: ccree - reduce kernel stack usage with clang Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 254/671] jfs: fix bogus variable self-initialization Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 255/671] tipc: tipc clang warning Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 256/671] m68k: mac: Fix VIA timer counter accesses Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 257/671] ARM: dts: sun8i: a33: Reintroduce default pinctrl muxing Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 258/671] arm64: dts: allwinner: a64: Add missing PIO clocks Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 259/671] ARM: dts: sun9i: optimus: Fix fixed-regulators Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 260/671] net: phy: don't clear BMCR in genphy_soft_reset Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 261/671] ARM: OMAP2+: Fix potentially uninitialized return value for _setup_reset() Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 262/671] net: dsa: Avoid null pointer when failing to connect to PHY Sasha Levin
2020-01-16 16:52 ` [PATCH AUTOSEL 4.19 263/671] soc: qcom: cmd-db: Fix an error code in cmd_db_dev_probe() Sasha Levin

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=20200116165940.10720-62-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=rafael.j.wysocki@intel.com \
    --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