public inbox for linux-kernel@vger.kernel.org
 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, Qu Wenruo <quwenruo@cn.fujitsu.com>,
	Liu Bo <bo.li.liu@oracle.com>, David Sterba <dsterba@suse.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.9 057/171] btrfs: fiemap: Cache and merge fiemap extent before submit it to user
Date: Thu,  8 Nov 2018 13:50:27 -0800	[thread overview]
Message-ID: <20181108215131.647642947@linuxfoundation.org> (raw)
In-Reply-To: <20181108215127.257643509@linuxfoundation.org>

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

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

[ Upstream commit 4751832da990a927c37526ae67b9226ea01eb99e ]

[BUG]
Cycle mount btrfs can cause fiemap to return different result.
Like:
 # mount /dev/vdb5 /mnt/btrfs
 # dd if=/dev/zero bs=16K count=4 oflag=dsync of=/mnt/btrfs/file
 # xfs_io -c "fiemap -v" /mnt/btrfs/file
 /mnt/test/file:
 EXT: FILE-OFFSET      BLOCK-RANGE      TOTAL FLAGS
   0: [0..127]:        25088..25215       128   0x1
 # umount /mnt/btrfs
 # mount /dev/vdb5 /mnt/btrfs
 # xfs_io -c "fiemap -v" /mnt/btrfs/file
 /mnt/test/file:
 EXT: FILE-OFFSET      BLOCK-RANGE      TOTAL FLAGS
   0: [0..31]:         25088..25119        32   0x0
   1: [32..63]:        25120..25151        32   0x0
   2: [64..95]:        25152..25183        32   0x0
   3: [96..127]:       25184..25215        32   0x1
But after above fiemap, we get correct merged result if we call fiemap
again.
 # xfs_io -c "fiemap -v" /mnt/btrfs/file
 /mnt/test/file:
 EXT: FILE-OFFSET      BLOCK-RANGE      TOTAL FLAGS
   0: [0..127]:        25088..25215       128   0x1

[REASON]
Btrfs will try to merge extent map when inserting new extent map.

btrfs_fiemap(start=0 len=(u64)-1)
|- extent_fiemap(start=0 len=(u64)-1)
   |- get_extent_skip_holes(start=0 len=64k)
   |  |- btrfs_get_extent_fiemap(start=0 len=64k)
   |     |- btrfs_get_extent(start=0 len=64k)
   |        |  Found on-disk (ino, EXTENT_DATA, 0)
   |        |- add_extent_mapping()
   |        |- Return (em->start=0, len=16k)
   |
   |- fiemap_fill_next_extent(logic=0 phys=X len=16k)
   |
   |- get_extent_skip_holes(start=0 len=64k)
   |  |- btrfs_get_extent_fiemap(start=0 len=64k)
   |     |- btrfs_get_extent(start=16k len=48k)
   |        |  Found on-disk (ino, EXTENT_DATA, 16k)
   |        |- add_extent_mapping()
   |        |  |- try_merge_map()
   |        |     Merge with previous em start=0 len=16k
   |        |     resulting em start=0 len=32k
   |        |- Return (em->start=0, len=32K)    << Merged result
   |- Stripe off the unrelated range (0~16K) of return em
   |- fiemap_fill_next_extent(logic=16K phys=X+16K len=16K)
      ^^^ Causing split fiemap extent.

And since in add_extent_mapping(), em is already merged, in next
fiemap() call, we will get merged result.

[FIX]
Here we introduce a new structure, fiemap_cache, which records previous
fiemap extent.

And will always try to merge current fiemap_cache result before calling
fiemap_fill_next_extent().
Only when we failed to merge current fiemap extent with cached one, we
will call fiemap_fill_next_extent() to submit cached one.

So by this method, we can merge all fiemap extents.

It can also be done in fs/ioctl.c, however the problem is if
fieinfo->fi_extents_max == 0, we have no space to cache previous fiemap
extent.
So I choose to merge it in btrfs.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Reviewed-by: Liu Bo <bo.li.liu@oracle.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/btrfs/extent_io.c | 124 ++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 122 insertions(+), 2 deletions(-)

diff --git a/fs/btrfs/extent_io.c b/fs/btrfs/extent_io.c
index 2b96ca68dc10..5feaef9bcbda 100644
--- a/fs/btrfs/extent_io.c
+++ b/fs/btrfs/extent_io.c
@@ -4377,6 +4377,123 @@ static struct extent_map *get_extent_skip_holes(struct inode *inode,
 	return NULL;
 }
 
+/*
+ * To cache previous fiemap extent
+ *
+ * Will be used for merging fiemap extent
+ */
+struct fiemap_cache {
+	u64 offset;
+	u64 phys;
+	u64 len;
+	u32 flags;
+	bool cached;
+};
+
+/*
+ * Helper to submit fiemap extent.
+ *
+ * Will try to merge current fiemap extent specified by @offset, @phys,
+ * @len and @flags with cached one.
+ * And only when we fails to merge, cached one will be submitted as
+ * fiemap extent.
+ *
+ * Return value is the same as fiemap_fill_next_extent().
+ */
+static int emit_fiemap_extent(struct fiemap_extent_info *fieinfo,
+				struct fiemap_cache *cache,
+				u64 offset, u64 phys, u64 len, u32 flags)
+{
+	int ret = 0;
+
+	if (!cache->cached)
+		goto assign;
+
+	/*
+	 * Sanity check, extent_fiemap() should have ensured that new
+	 * fiemap extent won't overlap with cahced one.
+	 * Not recoverable.
+	 *
+	 * NOTE: Physical address can overlap, due to compression
+	 */
+	if (cache->offset + cache->len > offset) {
+		WARN_ON(1);
+		return -EINVAL;
+	}
+
+	/*
+	 * Only merges fiemap extents if
+	 * 1) Their logical addresses are continuous
+	 *
+	 * 2) Their physical addresses are continuous
+	 *    So truly compressed (physical size smaller than logical size)
+	 *    extents won't get merged with each other
+	 *
+	 * 3) Share same flags except FIEMAP_EXTENT_LAST
+	 *    So regular extent won't get merged with prealloc extent
+	 */
+	if (cache->offset + cache->len  == offset &&
+	    cache->phys + cache->len == phys  &&
+	    (cache->flags & ~FIEMAP_EXTENT_LAST) ==
+			(flags & ~FIEMAP_EXTENT_LAST)) {
+		cache->len += len;
+		cache->flags |= flags;
+		goto try_submit_last;
+	}
+
+	/* Not mergeable, need to submit cached one */
+	ret = fiemap_fill_next_extent(fieinfo, cache->offset, cache->phys,
+				      cache->len, cache->flags);
+	cache->cached = false;
+	if (ret)
+		return ret;
+assign:
+	cache->cached = true;
+	cache->offset = offset;
+	cache->phys = phys;
+	cache->len = len;
+	cache->flags = flags;
+try_submit_last:
+	if (cache->flags & FIEMAP_EXTENT_LAST) {
+		ret = fiemap_fill_next_extent(fieinfo, cache->offset,
+				cache->phys, cache->len, cache->flags);
+		cache->cached = false;
+	}
+	return ret;
+}
+
+/*
+ * Sanity check for fiemap cache
+ *
+ * All fiemap cache should be submitted by emit_fiemap_extent()
+ * Iteration should be terminated either by last fiemap extent or
+ * fieinfo->fi_extents_max.
+ * So no cached fiemap should exist.
+ */
+static int check_fiemap_cache(struct btrfs_fs_info *fs_info,
+			       struct fiemap_extent_info *fieinfo,
+			       struct fiemap_cache *cache)
+{
+	int ret;
+
+	if (!cache->cached)
+		return 0;
+
+	/* Small and recoverbale problem, only to info developer */
+#ifdef CONFIG_BTRFS_DEBUG
+	WARN_ON(1);
+#endif
+	btrfs_warn(fs_info,
+		   "unhandled fiemap cache detected: offset=%llu phys=%llu len=%llu flags=0x%x",
+		   cache->offset, cache->phys, cache->len, cache->flags);
+	ret = fiemap_fill_next_extent(fieinfo, cache->offset, cache->phys,
+				      cache->len, cache->flags);
+	cache->cached = false;
+	if (ret > 0)
+		ret = 0;
+	return ret;
+}
+
 int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
 		__u64 start, __u64 len, get_extent_t *get_extent)
 {
@@ -4394,6 +4511,7 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
 	struct extent_state *cached_state = NULL;
 	struct btrfs_path *path;
 	struct btrfs_root *root = BTRFS_I(inode)->root;
+	struct fiemap_cache cache = { 0 };
 	int end = 0;
 	u64 em_start = 0;
 	u64 em_len = 0;
@@ -4573,8 +4691,8 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
 			flags |= FIEMAP_EXTENT_LAST;
 			end = 1;
 		}
-		ret = fiemap_fill_next_extent(fieinfo, em_start, disko,
-					      em_len, flags);
+		ret = emit_fiemap_extent(fieinfo, &cache, em_start, disko,
+					   em_len, flags);
 		if (ret) {
 			if (ret == 1)
 				ret = 0;
@@ -4582,6 +4700,8 @@ int extent_fiemap(struct inode *inode, struct fiemap_extent_info *fieinfo,
 		}
 	}
 out_free:
+	if (!ret)
+		ret = check_fiemap_cache(root->fs_info, fieinfo, &cache);
 	free_extent_map(em);
 out:
 	btrfs_free_path(path);
-- 
2.17.1




  parent reply	other threads:[~2018-11-08 22:04 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-08 21:49 [PATCH 4.9 000/171] 4.9.136-stable review Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 001/171] xfrm: Validate address prefix lengths in the xfrm selector Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 002/171] xfrm6: call kfree_skb when skb is toobig Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 003/171] mac80211: Always report TX status Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 004/171] cfg80211: reg: Init wiphy_idx in regulatory_hint_core() Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 005/171] mac80211: fix pending queue hang due to TX_DROP Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 006/171] cfg80211: Address some corner cases in scan result channel updating Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 007/171] mac80211: TDLS: fix skb queue/priority assignment Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 008/171] ARM: 8799/1: mm: fix pci_ioremap_io() offset check Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 009/171] xfrm: validate template mode Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 010/171] ARM: dts: BCM63xx: Fix incorrect interrupt specifiers Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 011/171] net: macb: Clean 64b dma addresses if they are not detected Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 012/171] soc: fsl: qbman: qman: avoid allocating from non existing gen_pool Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 013/171] soc: fsl: qe: Fix copy/paste bug in ucc_get_tdm_sync_shift() Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 014/171] nl80211: Fix possible Spectre-v1 for NL80211_TXRATE_HT Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 015/171] mac80211_hwsim: do not omit multicast announce of first added radio Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 016/171] Bluetooth: SMP: fix crash in unpairing Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 017/171] pxa168fb: prepare the clock Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 018/171] qed: Avoid implicit enum conversion in qed_roce_mode_to_flavor Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 019/171] qed: Avoid constant logical operation warning in qed_vf_pf_acquire Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 020/171] asix: Check for supported Wake-on-LAN modes Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 021/171] ax88179_178a: " Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 022/171] lan78xx: " Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 023/171] sr9800: " Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 024/171] r8152: Check for supported Wake-on-LAN Modes Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 025/171] smsc75xx: Check for Wake-on-LAN modes Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 026/171] smsc95xx: " Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 027/171] perf/ring_buffer: Prevent concurent ring buffer access Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 028/171] perf/x86/intel/uncore: Fix PCI BDF address of M3UPI on SKX Greg Kroah-Hartman
2018-11-08 21:49 ` [PATCH 4.9 029/171] net: fec: fix rare tx timeout Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 030/171] declance: Fix continuation with the adapter identification message Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 031/171] net: cxgb3_main: fix a missing-check bug Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 032/171] perf symbols: Fix memory corruption because of zero length symbols Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 033/171] mm/memory_hotplug.c: fix overflow in test_pages_in_a_zone() Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 034/171] MIPS: microMIPS: Fix decoding of swsp16 instruction Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 035/171] MIPS: Handle non word sized instructions when examining frame Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 036/171] scsi: aacraid: Fix typo in blink status Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 037/171] f2fs: fix multiple f2fs_add_link() having same name for inline dentry Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 038/171] igb: Remove superfluous reset to PHY and page 0 selection Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 039/171] ACPI: sysfs: Make ACPI GPE mask kernel parameter cover all GPEs Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 040/171] PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 041/171] i2c: bcm2835: Avoid possible NULL ptr dereference Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 042/171] efi/fb: Correct PCI_STD_RESOURCE_END usage Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 043/171] ipv6: set rt6i_protocol properly in the route when it is installed Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 044/171] platform/x86: acer-wmi: setup accelerometer when ACPI device was found Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 045/171] IB/ipoib: Do not warn if IPoIB debugfs doesnt exist Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 046/171] IB/core: Fix the validations of a multicast LID in attach or detach operations Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 047/171] orangefs: off by ones in xattr size checks Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 048/171] rxe: Fix a sleep-in-atomic bug in post_one_send Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 049/171] nvme-pci: fix CMB sysfs file removal in reset path Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 050/171] net: phy: marvell: Limit 88m1101 autoneg errata to 88E1145 as well Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 051/171] net/mlx5: Fix command completion after timeout access invalid structure Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 052/171] tipc: Fix tipc_sk_reinit handling of -EAGAIN Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 053/171] tipc: fix a race condition of releasing subscriber object Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 054/171] bnxt_en: Dont use rtnl lock to protect link change logic in workqueue Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 055/171] ath10k: fix NAPI enable/disable symmetry for AHB interface Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 056/171] ARM: dts: bcm283x: Reserve first page for firmware Greg Kroah-Hartman
2018-11-08 21:50 ` Greg Kroah-Hartman [this message]
2018-11-08 21:50 ` [PATCH 4.9 058/171] ata: sata_rcar: Handle return value of clk_prepare_enable Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 059/171] reset: hi6220: Set module license so that it can be loaded Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 060/171] ASoC: Intel: Skylake: Fix to parse consecutive string tkns in manifest Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 061/171] arch/sparc: increase CONFIG_NODES_SHIFT on SPARC64 to 5 Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 062/171] mac80211: fix TX aggregation start/stop callback race Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 063/171] libata: fix error checking in in ata_parse_force_one() Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 064/171] net: ethernet: stmmac: Fix altr_tse_pcs SGMII Initialization Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 065/171] qlcnic: Fix tunnel offload for 82xx adapters Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 066/171] x86/cpu/cyrix: Add alternative Device ID of Geode GX1 SoC Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 067/171] ARM: 8677/1: boot/compressed: fix decompressor header layout for v7-M Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 068/171] gpu: ipu-v3: Fix CSI selection for VDIC Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 069/171] elevator: fix truncation of icq_cache_name Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 070/171] net: stmmac: ensure jumbo_frm error return is correctly checked for -ve value Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 071/171] Btrfs: clear EXTENT_DEFRAG bits in finish_ordered_io Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 072/171] ufs: we need to sync inode before freeing it Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 073/171] net/mlx5e: Fix fixpoint divide exception in mlx5e_am_stats_compare Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 074/171] ip6_tunnel: Correct tos value in collect_md mode Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 075/171] net/mlx5: Fix driver load error flow when firmware is stuck Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 076/171] perf evsel: Fix probing of precise_ip level for default cycles event Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 077/171] perf probe: Fix probe definition for inlined functions Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 078/171] net/mlx5: Fix health work queue spin lock to IRQ safe Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 079/171] usb: renesas_usbhs: gadget: fix spin_lock_init() for &uep->lock Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 080/171] usb: renesas_usbhs: gadget: fix unused-but-set-variable warning Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 081/171] usb: dwc3: omap: remove IRQ_NOAUTOEN used with shared irq Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 082/171] clk: samsung: Fix m2m scaler clock on Exynos542x Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 083/171] ptr_ring: fix up after recent ptr_ring changes Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 084/171] staging: wilc1000: Fix problem with wrong vif index Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 085/171] rds: ib: Fix missing call to rds_ib_dev_put in rds_ib_setup_qp Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 086/171] iio: adc: Revert "axp288: Drop bogus AXP288_ADC_TS_PIN_CTRL register modifications" Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 087/171] qed: Warn PTT usage by wrong hw-function Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 088/171] ocfs2: fix deadlock caused by recursive locking in xattr Greg Kroah-Hartman
2018-11-08 21:50 ` [PATCH 4.9 089/171] net: cdc_ncm: GetNtbFormat endian fix Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 090/171] sctp: use right member as the param of list_for_each_entry Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 091/171] ALSA: hda - No loopback on ALC299 codec Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 092/171] ath10k: convert warning about non-existent OTP board id to debug message Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 093/171] ipv6: fix cleanup ordering for ip6_mr failure Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 094/171] IB/ipoib: Fix lockdep issue found on ipoib_ib_dev_heavy_flush Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 095/171] IB/rxe: put the pool on allocation failure Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 096/171] nbd: only set MSG_MORE when we have more to send Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 097/171] mm/frame_vector.c: release a semaphore in get_vaddr_frames() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 098/171] IB/mlx5: Avoid passing an invalid QP type to firmware Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 099/171] scsi: qla2xxx: Avoid double completion of abort command Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 100/171] drm: bochs: Dont remove uninitialized fbdev framebuffer Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 101/171] i40e: avoid NVM acquire deadlock during NVM update Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 102/171] Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0" Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 103/171] Btrfs: incremental send, fix invalid memory access Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 104/171] drm/msm: Fix possible null dereference on failure of get_pages() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 105/171] module: fix DEBUG_SET_MODULE_RONX typo Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 106/171] iio: pressure: zpa2326: Remove always-true check which confuses gcc Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 107/171] l2tp: remove configurable payload offset Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 108/171] macsec: fix memory leaks when skb_to_sgvec fails Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 109/171] perf/core: Fix locking for children siblings group read Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 110/171] cifs: Use ULL suffix for 64-bit constant Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 111/171] futex: futex_wake_op, do not fail on invalid op Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 112/171] ALSA: hda - Fix incorrect usage of IS_REACHABLE() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 113/171] test_bpf: Fix testing with CONFIG_BPF_JIT_ALWAYS_ON=y on other arches Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 114/171] xen-netfront: Update features after registering netdev Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 115/171] sparc64: Fix regression in pmdp_invalidate() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 116/171] xen-netfront: Fix mismatched rtnl_unlock Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 117/171] enic: do not overwrite error code Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 118/171] bonding: ratelimit failed speed/duplex update warning Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 119/171] nvmet: fix space padding in serial number Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 120/171] iio: buffer: fix the function signature to match implementation Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 121/171] x86/paravirt: Fix some warning messages Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 122/171] IB/mlx4: Fix an error handling path in mlx4_ib_rereg_user_mr() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 123/171] libertas: call into generic suspend code before turning off power Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 124/171] xhci: Fix USB3 NULL pointer dereference at logical disconnect Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 125/171] perf tests: Fix indexing when invoking subtests Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 126/171] ARM: dts: imx53-qsb: disable 1.2GHz OPP Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 127/171] rxrpc: Dont check RXRPC_CALL_TX_LAST after calling rxrpc_rotate_tx_window() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 128/171] rxrpc: Only take the rwind and mtu values from latest ACK Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 129/171] net: ena: fix NULL dereference due to untimely napi initialization Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 130/171] fs/fat/fatent.c: add cond_resched() to fat_count_free_clusters() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 131/171] mtd: spi-nor: Add support for is25wp series chips Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 132/171] Revert "netfilter: ipv6: nf_defrag: drop skb dst before queueing" Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 133/171] perf tools: Disable parallelism for make clean Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 134/171] bridge: do not add port to router list when receives query with source 0.0.0.0 Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 135/171] net: bridge: remove ipv6 zero address check in mcast queries Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 136/171] ipv6: mcast: fix a use-after-free in inet6_mc_check Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 137/171] ipv6/ndisc: Preserve IPv6 control buffer if protocol error handlers are called Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 138/171] llc: set SOCK_RCU_FREE in llc_sap_add_socket() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 139/171] net/ipv6: Fix index counter for unicast addresses in in6_dump_addrs Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 140/171] net: sched: gred: pass the right attribute to gred_change_table_def() Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 141/171] net: socket: fix a missing-check bug Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 142/171] net: stmmac: Fix stmmac_mdio_reset() when building stmmac as modules Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 143/171] net: udp: fix handling of CHECKSUM_COMPLETE packets Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 144/171] r8169: fix NAPI handling under high load Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 145/171] sctp: fix race on sctp_id2asoc Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 146/171] vhost: Fix Spectre V1 vulnerability Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 147/171] ethtool: fix a privilege escalation bug Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 148/171] bonding: fix length of actor system Greg Kroah-Hartman
2018-11-08 21:51 ` [PATCH 4.9 149/171] net: drop skb on failure in ip_check_defrag() Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 150/171] net: fix pskb_trim_rcsum_slow() with odd trim offset Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 151/171] rtnetlink: Disallow FDB configuration for non-Ethernet device Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 152/171] ip6_tunnel: Fix encapsulation layout Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 153/171] Revert "x86/mm: Expand static page table for fixmap space" Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 154/171] crypto: shash - Fix a sleep-in-atomic bug in shash_setkey_unaligned Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 155/171] ahci: dont ignore result code of ahci_reset_controller() Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 156/171] gpio: mxs: Get rid of external API call Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 157/171] xfs: truncate transaction does not modify the inobt Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 158/171] cachefiles: fix the race between cachefiles_bury_object() and rmdir(2) Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 159/171] ptp: fix Spectre v1 vulnerability Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 160/171] drm/edid: Add 6 bpc quirk for BOE panel in HP Pavilion 15-n233sl Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 161/171] RDMA/ucma: Fix Spectre v1 vulnerability Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 162/171] IB/ucm: " Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 163/171] cdc-acm: correct counting of UART states in serial state notification Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 164/171] usb: gadget: storage: Fix Spectre v1 vulnerability Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 165/171] USB: fix the usbfs flag sanitization for control transfers Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 166/171] Input: elan_i2c - add ACPI ID for Lenovo IdeaPad 330-15IGM Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 167/171] sched/fair: Fix throttle_list starvation with low CFS quota Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 168/171] x86/percpu: Fix this_cpu_read() Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 169/171] x86/time: Correct the attribute on jiffies definition Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 170/171] net: fs_enet: do not call phy_stop() in interrupts Greg Kroah-Hartman
2018-11-08 21:52 ` [PATCH 4.9 171/171] posix-timers: Sanitize overrun handling Greg Kroah-Hartman
2018-11-09  3:50 ` [PATCH 4.9 000/171] 4.9.136-stable review kernelci.org bot
2018-11-09 19:40 ` Guenter Roeck
2018-11-09 19:48 ` Shuah Khan
2018-11-09 21:55 ` Dan Rue

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=20181108215131.647642947@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bo.li.liu@oracle.com \
    --cc=dsterba@suse.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=quwenruo@cn.fujitsu.com \
    --cc=sashal@kernel.org \
    --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