stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: Zhikang Zhang <zhangzhikang1@huawei.com>,
	Jaegeuk Kim <jaegeuk@kernel.org>, Sasha Levin <sashal@kernel.org>
Subject: [PATCH AUTOSEL 4.19 139/146] f2fs: avoid sleeping under spin_lock
Date: Wed, 31 Oct 2018 19:05:34 -0400	[thread overview]
Message-ID: <20181031230541.28822-139-sashal@kernel.org> (raw)
In-Reply-To: <20181031230541.28822-1-sashal@kernel.org>

From: Zhikang Zhang <zhangzhikang1@huawei.com>

[ Upstream commit b430f7263673eab1dc40e662ae3441a9619d16b8 ]

In the call trace below, we might sleep in function dput().

So in order to avoid sleeping under spin_lock, we remove f2fs_mark_inode_dirty_sync
from __try_update_largest_extent && __drop_largest_extent.

BUG: sleeping function called from invalid context at fs/dcache.c:796
Call trace:
	dump_backtrace+0x0/0x3f4
	show_stack+0x24/0x30
	dump_stack+0xe0/0x138
	___might_sleep+0x2a8/0x2c8
	__might_sleep+0x78/0x10c
	dput+0x7c/0x750
	block_dump___mark_inode_dirty+0x120/0x17c
	__mark_inode_dirty+0x344/0x11f0
	f2fs_mark_inode_dirty_sync+0x40/0x50
	__insert_extent_tree+0x2e0/0x2f4
	f2fs_update_extent_tree_range+0xcf4/0xde8
	f2fs_update_extent_cache+0x114/0x12c
	f2fs_update_data_blkaddr+0x40/0x50
	write_data_page+0x150/0x314
	do_write_data_page+0x648/0x2318
	__write_data_page+0xdb4/0x1640
	f2fs_write_cache_pages+0x768/0xafc
	__f2fs_write_data_pages+0x590/0x1218
	f2fs_write_data_pages+0x64/0x74
	do_writepages+0x74/0xe4
	__writeback_single_inode+0xdc/0x15f0
	writeback_sb_inodes+0x574/0xc98
	__writeback_inodes_wb+0x190/0x204
	wb_writeback+0x730/0xf14
	wb_check_old_data_flush+0x1bc/0x1c8
	wb_workfn+0x554/0xf74
	process_one_work+0x440/0x118c
	worker_thread+0xac/0x974
	kthread+0x1a0/0x1c8
	ret_from_fork+0x10/0x1c

Signed-off-by: Zhikang Zhang <zhangzhikang1@huawei.com>
Reviewed-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/f2fs/extent_cache.c | 51 ++++++++++++++++++++++++++----------------
 fs/f2fs/f2fs.h         |  7 +++---
 2 files changed, 36 insertions(+), 22 deletions(-)

diff --git a/fs/f2fs/extent_cache.c b/fs/f2fs/extent_cache.c
index 231b77ef5a53..a70cd2580eae 100644
--- a/fs/f2fs/extent_cache.c
+++ b/fs/f2fs/extent_cache.c
@@ -308,14 +308,13 @@ static unsigned int __free_extent_tree(struct f2fs_sb_info *sbi,
 	return count - atomic_read(&et->node_cnt);
 }
 
-static void __drop_largest_extent(struct inode *inode,
+static void __drop_largest_extent(struct extent_tree *et,
 					pgoff_t fofs, unsigned int len)
 {
-	struct extent_info *largest = &F2FS_I(inode)->extent_tree->largest;
-
-	if (fofs < largest->fofs + largest->len && fofs + len > largest->fofs) {
-		largest->len = 0;
-		f2fs_mark_inode_dirty_sync(inode, true);
+	if (fofs < et->largest.fofs + et->largest.len &&
+			fofs + len > et->largest.fofs) {
+		et->largest.len = 0;
+		et->largest_updated = true;
 	}
 }
 
@@ -416,12 +415,11 @@ static bool f2fs_lookup_extent_tree(struct inode *inode, pgoff_t pgofs,
 	return ret;
 }
 
-static struct extent_node *__try_merge_extent_node(struct inode *inode,
+static struct extent_node *__try_merge_extent_node(struct f2fs_sb_info *sbi,
 				struct extent_tree *et, struct extent_info *ei,
 				struct extent_node *prev_ex,
 				struct extent_node *next_ex)
 {
-	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct extent_node *en = NULL;
 
 	if (prev_ex && __is_back_mergeable(ei, &prev_ex->ei)) {
@@ -443,7 +441,7 @@ static struct extent_node *__try_merge_extent_node(struct inode *inode,
 	if (!en)
 		return NULL;
 
-	__try_update_largest_extent(inode, et, en);
+	__try_update_largest_extent(et, en);
 
 	spin_lock(&sbi->extent_lock);
 	if (!list_empty(&en->list)) {
@@ -454,12 +452,11 @@ static struct extent_node *__try_merge_extent_node(struct inode *inode,
 	return en;
 }
 
-static struct extent_node *__insert_extent_tree(struct inode *inode,
+static struct extent_node *__insert_extent_tree(struct f2fs_sb_info *sbi,
 				struct extent_tree *et, struct extent_info *ei,
 				struct rb_node **insert_p,
 				struct rb_node *insert_parent)
 {
-	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct rb_node **p;
 	struct rb_node *parent = NULL;
 	struct extent_node *en = NULL;
@@ -476,7 +473,7 @@ static struct extent_node *__insert_extent_tree(struct inode *inode,
 	if (!en)
 		return NULL;
 
-	__try_update_largest_extent(inode, et, en);
+	__try_update_largest_extent(et, en);
 
 	/* update in global extent list */
 	spin_lock(&sbi->extent_lock);
@@ -497,6 +494,7 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 	struct rb_node **insert_p = NULL, *insert_parent = NULL;
 	unsigned int end = fofs + len;
 	unsigned int pos = (unsigned int)fofs;
+	bool updated = false;
 
 	if (!et)
 		return;
@@ -517,7 +515,7 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 	 * drop largest extent before lookup, in case it's already
 	 * been shrunk from extent tree
 	 */
-	__drop_largest_extent(inode, fofs, len);
+	__drop_largest_extent(et, fofs, len);
 
 	/* 1. lookup first extent node in range [fofs, fofs + len - 1] */
 	en = (struct extent_node *)f2fs_lookup_rb_tree_ret(&et->root,
@@ -550,7 +548,7 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 				set_extent_info(&ei, end,
 						end - dei.fofs + dei.blk,
 						org_end - end);
-				en1 = __insert_extent_tree(inode, et, &ei,
+				en1 = __insert_extent_tree(sbi, et, &ei,
 							NULL, NULL);
 				next_en = en1;
 			} else {
@@ -570,7 +568,7 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 		}
 
 		if (parts)
-			__try_update_largest_extent(inode, et, en);
+			__try_update_largest_extent(et, en);
 		else
 			__release_extent_node(sbi, et, en);
 
@@ -590,15 +588,16 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 	if (blkaddr) {
 
 		set_extent_info(&ei, fofs, blkaddr, len);
-		if (!__try_merge_extent_node(inode, et, &ei, prev_en, next_en))
-			__insert_extent_tree(inode, et, &ei,
+		if (!__try_merge_extent_node(sbi, et, &ei, prev_en, next_en))
+			__insert_extent_tree(sbi, et, &ei,
 						insert_p, insert_parent);
 
 		/* give up extent_cache, if split and small updates happen */
 		if (dei.len >= 1 &&
 				prev.len < F2FS_MIN_EXTENT_LEN &&
 				et->largest.len < F2FS_MIN_EXTENT_LEN) {
-			__drop_largest_extent(inode, 0, UINT_MAX);
+			et->largest.len = 0;
+			et->largest_updated = true;
 			set_inode_flag(inode, FI_NO_EXTENT);
 		}
 	}
@@ -606,7 +605,15 @@ static void f2fs_update_extent_tree_range(struct inode *inode,
 	if (is_inode_flag_set(inode, FI_NO_EXTENT))
 		__free_extent_tree(sbi, et);
 
+	if (et->largest_updated) {
+		et->largest_updated = false;
+		updated = true;
+	}
+
 	write_unlock(&et->lock);
+
+	if (updated)
+		f2fs_mark_inode_dirty_sync(inode, true);
 }
 
 unsigned int f2fs_shrink_extent_tree(struct f2fs_sb_info *sbi, int nr_shrink)
@@ -705,6 +712,7 @@ void f2fs_drop_extent_tree(struct inode *inode)
 {
 	struct f2fs_sb_info *sbi = F2FS_I_SB(inode);
 	struct extent_tree *et = F2FS_I(inode)->extent_tree;
+	bool updated = false;
 
 	if (!f2fs_may_extent_tree(inode))
 		return;
@@ -713,8 +721,13 @@ void f2fs_drop_extent_tree(struct inode *inode)
 
 	write_lock(&et->lock);
 	__free_extent_tree(sbi, et);
-	__drop_largest_extent(inode, 0, UINT_MAX);
+	if (et->largest.len) {
+		et->largest.len = 0;
+		updated = true;
+	}
 	write_unlock(&et->lock);
+	if (updated)
+		f2fs_mark_inode_dirty_sync(inode, true);
 }
 
 void f2fs_destroy_extent_tree(struct inode *inode)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index abf925664d9c..e146e6c443e8 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -572,6 +572,7 @@ struct extent_tree {
 	struct list_head list;		/* to be used by sbi->zombie_list */
 	rwlock_t lock;			/* protect extent info rb-tree */
 	atomic_t node_cnt;		/* # of extent node in rb-tree*/
+	bool largest_updated;		/* largest extent updated */
 };
 
 /*
@@ -754,12 +755,12 @@ static inline bool __is_front_mergeable(struct extent_info *cur,
 }
 
 extern void f2fs_mark_inode_dirty_sync(struct inode *inode, bool sync);
-static inline void __try_update_largest_extent(struct inode *inode,
-			struct extent_tree *et, struct extent_node *en)
+static inline void __try_update_largest_extent(struct extent_tree *et,
+						struct extent_node *en)
 {
 	if (en->ei.len > et->largest.len) {
 		et->largest = en->ei;
-		f2fs_mark_inode_dirty_sync(inode, true);
+		et->largest_updated = true;
 	}
 }
 
-- 
2.17.1

  parent reply	other threads:[~2018-10-31 23:05 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-31 23:03 [PATCH AUTOSEL 4.19 001/146] net: socionext: Reset tx queue in ndo_stop Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 002/146] net: ethernet: ti: cpsw: unsync mcast entries while switch promisc mode Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 003/146] net: loopback: clear skb->tstamp before netif_rx() Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 004/146] locking/lockdep: Fix debug_locks off performance problem Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 005/146] netfilter: xt_nat: fix DNAT target for shifted portmap ranges Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 006/146] ataflop: fix error handling during setup Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 007/146] swim: fix cleanup on setup error Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 008/146] arm64: cpufeature: ctr: Fix cpu capability check for late CPUs Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 009/146] hv_netvsc: fix vf serial matching with pci slot info Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 010/146] nfp: devlink port split support for 1x100G CXP NIC Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 011/146] tun: Consistently configure generic netdev params via rtnetlink Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 012/146] s390/sthyi: Fix machine name validity indication Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 013/146] hwmon: (pwm-fan) Set fan speed to 0 on suspend Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 014/146] lightnvm: pblk: fix race on sysfs line state Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 015/146] lightnvm: pblk: fix two sleep-in-atomic-context bugs Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 016/146] lightnvm: pblk: fix race condition on metadata I/O Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 017/146] spi: spi-ep93xx: Use dma_data_direction for ep93xx_spi_dma_{finish,prepare} Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 018/146] perf tools: Free temporary 'sys' string in read_event_files() Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 019/146] perf tools: Cleanup trace-event-info 'tdata' leak Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 020/146] perf tools: Free 'printk' string in parse_ftrace_printk() Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 021/146] perf strbuf: Match va_{add,copy} with va_end Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 022/146] cpupower: Fix coredump on VMWare Sasha Levin
2018-11-01 11:43   ` Prarit Bhargava
2018-11-01 15:47     ` Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 023/146] bcache: Populate writeback_rate_minimum attribute Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 024/146] mmc: sdhci-pci-o2micro: Add quirk for O2 Micro dev 0x8620 rev 0x01 Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 025/146] sdhci: acpi: add free_slot callback Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 026/146] mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 027/146] iwlwifi: pcie: avoid empty free RB queue Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 028/146] iwlwifi: mvm: clear HW_RESTART_REQUESTED when stopping the interface Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 029/146] iwlwifi: mvm: check for n_profiles validity in EWRD ACPI Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 030/146] x86/olpc: Indicate that legacy PC XO-1 platform should not register RTC Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 031/146] wlcore: Fix BUG with clear completion on timeout Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 032/146] nvmet-rdma: use a private workqueue for delete Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 033/146] ACPI/PPTT: Handle architecturally unknown cache types Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 034/146] ACPI / PM: LPIT: Register sysfs attributes based on FADT Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 035/146] ACPI / processor: Fix the return value of acpi_processor_ids_walk() Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 036/146] cpufreq: dt: Try freeing static OPPs only if we have added them Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 037/146] x86/intel_rdt: Show missing resctrl mount options Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 038/146] mtd: rawnand: atmel: Fix potential NULL pointer dereference Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 039/146] regulator: fixed: Default enable high on DT regulators Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 040/146] nvme: call nvme_complete_rq when nvmf_check_ready fails for mpath I/O Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 041/146] ath10k: fix tx status flag setting for management frames Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 042/146] signal: Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 043/146] ice: fix changing of ring descriptor size (ethtool -G) Sasha Levin
2018-10-31 23:03 ` [PATCH AUTOSEL 4.19 044/146] ice: update fw version check logic Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 045/146] net: hns3: Fix for packet buffer setting bug Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 046/146] Bluetooth: btbcm: Add entry for BCM4335C0 UART bluetooth Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 047/146] Bluetooth: hci_qca: Remove hdev dereference in qca_close() Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 048/146] efi/x86: Call efi_parse_options() from efi_main() Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 049/146] x86: boot: Fix EFI stub alignment Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 050/146] net: hns3: Add nic state check before calling netif_tx_wake_queue Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 051/146] net: hns3: Fix ets validate issue Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 052/146] pinctrl: sunxi: fix 'pctrl->functions' allocation in sunxi_pinctrl_build_state Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 053/146] pinctrl: qcom: spmi-mpp: Fix err handling of pmic_mpp_set_mux Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 054/146] brcmfmac: fix for proper support of 160MHz bandwidth Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 055/146] net: hns3: Check hdev state when getting link status Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 056/146] net: hns3: Set STATE_DOWN bit of hdev state when stopping net Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 057/146] net: phy: phylink: ensure the carrier is off when starting phylink Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 058/146] block, bfq: correctly charge and reset entity service in all cases Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 059/146] arm64: entry: Allow handling of undefined instructions from EL1 Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 060/146] kprobes: Return error if we fail to reuse kprobe instead of BUG_ON() Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 061/146] spi: gpio: No MISO does not imply no RX Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 062/146] ACPI / LPSS: Add alternative ACPI HIDs for Cherry Trail DMA controllers Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 063/146] pinctrl: qcom: spmi-mpp: Fix drive strength setting Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 064/146] bpf/verifier: fix verifier instability Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 065/146] failover: Add missing check to validate 'slave_dev' in net_failover_slave_unregister Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 066/146] perf tests: Fix record+probe_libc_inet_pton.sh without ping's debuginfo Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 067/146] pinctrl: spmi-mpp: Fix pmic_mpp_config_get() to be compliant Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 068/146] pinctrl: ssbi-gpio: Fix pm8xxx_pin_config_get() " Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 069/146] net: hns3: Preserve vlan 0 in hardware table Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 070/146] net: hns3: Fix ping exited problem when doing lp selftest Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 071/146] net: hns3: Fix for vf vlan delete failed problem Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 072/146] net: dsa: mv88e6xxx: Fix writing to a PHY page Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 073/146] mt76x2u: run device cleanup routine if resume fails Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 074/146] rsi: fix memory alignment issue in ARM32 platforms Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 075/146] libertas_tf: prevent underflow in process_cmdrequest() Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 076/146] iwlwifi: mvm: fix BAR seq ctrl reporting Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 077/146] gpio: brcmstb: allow 0 width GPIO banks Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 078/146] ixgbe: disallow IPsec Tx offload when in SR-IOV mode Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 079/146] ixgbevf: VF2VF TCP RSS Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 080/146] wil6210: fix RX buffers release and unmap Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 081/146] ath10k: schedule hardware restart if WMI command times out Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 082/146] libata: Apply NOLPM quirk for SAMSUNG MZ7TD256HAFV-000L9 Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 083/146] thermal: rcar_thermal: Prevent doing work after unbind Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 084/146] thermal: da9062/61: Prevent hardware access during system suspend Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 085/146] cifs: fix a credits leak for compund commands Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 086/146] cgroup, netclassid: add a preemption point to write_classid Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 087/146] net: stmmac: dwmac-sun8i: fix OF child-node lookup Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 088/146] f2fs: fix to account IO correctly for cgroup writeback Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 089/146] MD: Memory leak when flush bio size is zero Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 090/146] md: fix memleak for mempool Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 091/146] of: Add missing exports of node name compare functions Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 092/146] scsi: esp_scsi: Track residual for PIO transfers Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 093/146] scsi: ufs: Schedule clk gating work on correct queue Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 094/146] UAPI: ndctl: Fix g++-unsupported initialisation in headers Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 095/146] KVM: nVMX: Clear reserved bits of #DB exit qualification Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 096/146] scsi: megaraid_sas: fix a missing-check bug Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 097/146] RDMA/core: Do not expose unsupported counters Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 098/146] RDMA/cm: Respect returned status of cm_init_av_by_path Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 099/146] IB/ipoib: Clear IPCB before icmp_send Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 100/146] RDMA/bnxt_re: Avoid accessing nq->bar_reg_iomem in failure case Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 101/146] RDMA/bnxt_re: Fix recursive lock warning in debug kernel Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 102/146] usb: host: ohci-at91: fix request of irq for optional gpio Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 103/146] PCI: mediatek: Fix mtk_pcie_find_port() endpoint/port matching logic Sasha Levin
2018-10-31 23:04 ` [PATCH AUTOSEL 4.19 104/146] PCI: cadence: Use AXI region 0 to signal interrupts from EP Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 105/146] usb: typec: tcpm: Report back negotiated PPS voltage and current Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 106/146] tpm: suppress transmit cmd error logs when TPM 1.2 is disabled/deactivated Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 107/146] f2fs: clear PageError on the read path Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 108/146] Drivers: hv: vmbus: Use cpumask_var_t for on-stack cpu mask Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 109/146] Drivers: hv: kvp: Fix two "this statement may fall through" warnings Sasha Levin
2018-10-31 23:33   ` Dexuan Cui
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 110/146] VMCI: Resource wildcard match fixed Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 111/146] PCI / ACPI: Enable wake automatically for power managed bridges Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 112/146] xprtrdma: Reset credit grant properly after a disconnect Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 113/146] irqchip/pdc: Setup all edge interrupts as rising edge at GIC Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 114/146] usb: dwc2: fix call to vbus supply exit routine, call it unlocked Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 115/146] usb: dwc2: fix a race with external vbus supply Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 116/146] usb: gadget: udc: atmel: handle at91sam9rl PMC Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 117/146] ext4: fix argument checking in EXT4_IOC_MOVE_EXT Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 118/146] MD: fix invalid stored role for a disk Sasha Levin
2018-11-06  7:37   ` Jack Wang
2018-11-06 15:50     ` Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 119/146] PCI: cadence: Correct probe behaviour when failing to get PHY Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 120/146] nvmem: check the return value of nvmem_add_cells() Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 121/146] xhci: Avoid USB autosuspend when resuming USB2 ports Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 122/146] scsi: qla2xxx: Fix recursive mailbox timeout Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 123/146] f2fs: fix to recover inode's crtime during POR Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 124/146] f2fs: fix to recover inode's i_flags " Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 125/146] PCI/MSI: Warn and return error if driver enables MSI/MSI-X twice Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 126/146] coresight: etb10: Fix handling of perf mode Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 127/146] PCI: dwc: pci-dra7xx: Enable errata i870 for both EP and RC mode Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 128/146] crypto: caam - fix implicit casts in endianness helpers Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 129/146] usb: chipidea: Prevent unbalanced IRQ disable Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 130/146] Smack: ptrace capability use fixes Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 131/146] driver/dma/ioat: Call del_timer_sync() without holding prep_lock Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 132/146] ASoC: AMD: Fix capture unstable in beginning for some runs Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 133/146] firmware: coreboot: Unmap ioregion after device population Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 134/146] IB/ipoib: Use dev_port to expose network interface port numbers Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 135/146] IB/mlx5: Allow transition of DCI QP to reset Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 136/146] uio: ensure class is registered before devices Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 137/146] scsi: lpfc: Correct soft lockup when running mds diagnostics Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 138/146] scsi: lpfc: Correct race with abort on completion path Sasha Levin
2018-10-31 23:05 ` Sasha Levin [this message]
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 140/146] f2fs: report error if quota off error during umount Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 141/146] signal: Always deliver the kernel's SIGKILL and SIGSTOP to a pid namespace init Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 142/146] f2fs: fix to flush all dirty inodes recovered in readonly fs Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 143/146] mfd: menelaus: Fix possible race condition and leak Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 144/146] dmaengine: dma-jz4780: Return error if not probed from DT Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 145/146] IB/rxe: fix for duplicate request processing and ack psns Sasha Levin
2018-10-31 23:05 ` [PATCH AUTOSEL 4.19 146/146] ALSA: hda: Check the non-cached stream buffers more explicitly 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=20181031230541.28822-139-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=zhangzhikang1@huawei.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).