linux-kernel.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, "shidao.ytt" <shidao.ytt@alibaba-inc.com>,
	Caspar Zhang <jinli.zjl@alibaba-inc.com>,
	Oliver Yang <zhiche.yy@alibaba-inc.com>,
	Mel Gorman <mgorman@techsingularity.net>,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Sasha Levin <alexander.levin@microsoft.com>
Subject: [PATCH 4.14 117/183] mm/fadvise: discard partial page if endbyte is also EOF
Date: Wed, 25 Apr 2018 12:35:37 +0200	[thread overview]
Message-ID: <20180425103247.138730118@linuxfoundation.org> (raw)
In-Reply-To: <20180425103242.532713678@linuxfoundation.org>

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

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

From: "shidao.ytt" <shidao.ytt@alibaba-inc.com>


[ Upstream commit a7ab400d6fe73d0119fdc234e9982a6f80faea9f ]

During our recent testing with fadvise(FADV_DONTNEED), we find that if
given offset/length is not page-aligned, the last page will not be
discarded.  The tool we use is vmtouch (https://hoytech.com/vmtouch/),
we map a 10KB-sized file into memory and then try to run this tool to
evict the whole file mapping, but the last single page always remains
staying in the memory:

$./vmtouch -e test_10K
           Files: 1
     Directories: 0
   Evicted Pages: 3 (12K)
         Elapsed: 2.1e-05 seconds

$./vmtouch test_10K
           Files: 1
     Directories: 0
  Resident Pages: 1/3  4K/12K  33.3%
         Elapsed: 5.5e-05 seconds

However when we test with an older kernel, say 3.10, this problem is
gone.  So we wonder if this is a regression:

$./vmtouch -e test_10K
           Files: 1
     Directories: 0
   Evicted Pages: 3 (12K)
         Elapsed: 8.2e-05 seconds

$./vmtouch test_10K
           Files: 1
     Directories: 0
  Resident Pages: 0/3  0/12K  0%  <-- partial page also discarded
         Elapsed: 5e-05 seconds

After digging a little bit into this problem, we find it seems not a
regression.  Not discarding partial page is likely to be on purpose
according to commit 441c228f817f ("mm: fadvise: document the
fadvise(FADV_DONTNEED) behaviour for partial pages") written by Mel
Gorman.  He explained why partial pages should be preserved instead of
being discarded when using fadvise(FADV_DONTNEED).

However, the interesting part is that the actual code did NOT work as
the same as it was described, the partial page was still discarded
anyway, due to a calculation mistake of `end_index' passed to
invalidate_mapping_pages().  This mistake has not been fixed until
recently, that's why we fail to reproduce our problem in old kernels.
The fix is done in commit 18aba41cbf ("mm/fadvise.c: do not discard
partial pages with POSIX_FADV_DONTNEED") by Oleg Drokin.

Back to the original testing, our problem becomes that there is a
special case that, if the page-unaligned `endbyte' is also the end of
file, it is not necessary at all to preserve the last partial page, as
we all know no one else will use the rest of it.  It should be safe
enough if we just discard the whole page.  So we add an EOF check in
this patch.

We also find a poosbile real world issue in mainline kernel.  Assume
such scenario: A userspace backup application want to backup a huge
amount of small files (<4k) at once, the developer might (I guess) want
to use fadvise(FADV_DONTNEED) to save memory.  However, FADV_DONTNEED
won't really happen since the only page mapped is a partial page, and
kernel will preserve it.  Our patch also fixes this problem, since we
know the endbyte is EOF, so we discard it.

Here is a simple reproducer to reproduce and verify each scenario we
described above:

  test_fadvise.c
  ==============================
  #include <sys/mman.h>
  #include <sys/stat.h>
  #include <fcntl.h>
  #include <stdlib.h>
  #include <string.h>
  #include <stdio.h>
  #include <unistd.h>

  int main(int argc, char **argv)
  {
  	int i, fd, ret, len;
  	struct stat buf;
  	void *addr;
  	unsigned char *vec;
  	char *strbuf;
  	ssize_t pagesize = getpagesize();
  	ssize_t filesize;

  	fd = open(argv[1], O_RDWR|O_CREAT, S_IRUSR|S_IWUSR);
  	if (fd < 0)
  		return -1;
  	filesize = strtoul(argv[2], NULL, 10);

  	strbuf = malloc(filesize);
  	memset(strbuf, 42, filesize);
  	write(fd, strbuf, filesize);
  	free(strbuf);
  	fsync(fd);

  	len = (filesize + pagesize - 1) / pagesize;
  	printf("length of pages: %d\n", len);

  	addr = mmap(NULL, filesize, PROT_READ, MAP_SHARED, fd, 0);
  	if (addr == MAP_FAILED)
  		return -1;

  	ret = posix_fadvise(fd, 0, filesize, POSIX_FADV_DONTNEED);
  	if (ret < 0)
  		return -1;

  	vec = malloc(len);
  	ret = mincore(addr, filesize, (void *)vec);
  	if (ret < 0)
  		return -1;

  	for (i = 0; i < len; i++)
  		printf("pages[%d]: %x\n", i, vec[i] & 0x1);

  	free(vec);
  	close(fd);

  	return 0;
  }
  ==============================

Test 1: running on kernel with commit 18aba41cbf reverted:

  [root@caspar ~]# uname -r
  4.15.0-rc6.revert+
  [root@caspar ~]# ./test_fadvise file1 1024
  length of pages: 1
  pages[0]: 0    # <-- partial page discarded
  [root@caspar ~]# ./test_fadvise file2 8192
  length of pages: 2
  pages[0]: 0
  pages[1]: 0
  [root@caspar ~]# ./test_fadvise file3 10240
  length of pages: 3
  pages[0]: 0
  pages[1]: 0
  pages[2]: 0    # <-- partial page discarded

Test 2: running on mainline kernel:

  [root@caspar ~]# uname -r
  4.15.0-rc6+
  [root@caspar ~]# ./test_fadvise test1 1024
  length of pages: 1
  pages[0]: 1    # <-- partial and the only page not discarded
  [root@caspar ~]# ./test_fadvise test2 8192
  length of pages: 2
  pages[0]: 0
  pages[1]: 0
  [root@caspar ~]# ./test_fadvise test3 10240
  length of pages: 3
  pages[0]: 0
  pages[1]: 0
  pages[2]: 1    # <-- partial page not discarded

Test 3: running on kernel with this patch:

  [root@caspar ~]# uname -r
  4.15.0-rc6.patched+
  [root@caspar ~]# ./test_fadvise test1 1024
  length of pages: 1
  pages[0]: 0    # <-- partial page and EOF, discarded
  [root@caspar ~]# ./test_fadvise test2 8192
  length of pages: 2
  pages[0]: 0
  pages[1]: 0
  [root@caspar ~]# ./test_fadvise test3 10240
  length of pages: 3
  pages[0]: 0
  pages[1]: 0
  pages[2]: 0    # <-- partial page and EOF, discarded

[akpm@linux-foundation.org: tweak code comment]
Link: http://lkml.kernel.org/r/5222da9ee20e1695eaabb69f631f200d6e6b8876.1515132470.git.jinli.zjl@alibaba-inc.com
Signed-off-by: shidao.ytt <shidao.ytt@alibaba-inc.com>
Signed-off-by: Caspar Zhang <jinli.zjl@alibaba-inc.com>
Reviewed-by: Oliver Yang <zhiche.yy@alibaba-inc.com>
Cc: Mel Gorman <mgorman@techsingularity.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 mm/fadvise.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

--- a/mm/fadvise.c
+++ b/mm/fadvise.c
@@ -127,7 +127,15 @@ SYSCALL_DEFINE4(fadvise64_64, int, fd, l
 		 */
 		start_index = (offset+(PAGE_SIZE-1)) >> PAGE_SHIFT;
 		end_index = (endbyte >> PAGE_SHIFT);
-		if ((endbyte & ~PAGE_MASK) != ~PAGE_MASK) {
+		/*
+		 * The page at end_index will be inclusively discarded according
+		 * by invalidate_mapping_pages(), so subtracting 1 from
+		 * end_index means we will skip the last page.  But if endbyte
+		 * is page aligned or is at the end of file, we should not skip
+		 * that page - discarding the last page is safe enough.
+		 */
+		if ((endbyte & ~PAGE_MASK) != ~PAGE_MASK &&
+				endbyte != inode->i_size - 1) {
 			/* First page is tricky as 0 - 1 = -1, but pgoff_t
 			 * is unsigned, so the end_index >= start_index
 			 * check below would be true and we'll discard the whole

  parent reply	other threads:[~2018-04-25 10:35 UTC|newest]

Thread overview: 193+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-25 10:33 [PATCH 4.14 000/183] 4.14.37-stable review Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 001/183] cifs: do not allow creating sockets except with SMB1 posix exensions Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 002/183] btrfs: fix unaligned access in readdir Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 003/183] x86/acpi: Prevent X2APIC id 0xffffffff from being accounted Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 004/183] clocksource/imx-tpm: Correct -ETIME return condition check Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 005/183] x86/tsc: Prevent 32bit truncation in calc_hpet_ref() Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 006/183] drm/vc4: Fix memory leak during BO teardown Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 007/183] drm/i915/gvt: throw error on unhandled vfio ioctls Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 008/183] drm/i915/audio: Fix audio detection issue on GLK Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 009/183] drm/i915: Do no use kfree() to free a kmem_cache_alloc() return value Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 010/183] drm/i915: Fix LSPCON TMDS output buffer enabling from low-power state Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 011/183] drm/i915/bxt, glk: Increase PCODE timeouts during CDCLK freq changing Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 012/183] usb: musb: fix enumeration after resume Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 013/183] usb: musb: call pm_runtime_{get,put}_sync before reading vbus registers Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 014/183] usb: musb: Fix external abort in musb_remove on omap2430 Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 015/183] powerpc/eeh: Fix race with driver un/bind Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 016/183] firewire-ohci: work around oversized DMA reads on JMicron controllers Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 017/183] x86/tsc: Allow TSC calibration without PIT Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 018/183] NFSv4: always set NFS_LOCK_LOST when a lock is lost Greg Kroah-Hartman
2018-04-25 10:33 ` [PATCH 4.14 019/183] ACPI / LPSS: Do not instiate platform_dev for devs without MMIO resources Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 020/183] ALSA: hda - Use IS_REACHABLE() for dependency on input Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 021/183] ASoC: au1x: Fix timeout tests in au1xac97c_ac97_read() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 022/183] kvm: x86: fix KVM_XEN_HVM_CONFIG ioctl Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 023/183] RDMA/core: Clarify rdma_ah_find_type Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 024/183] KVM: PPC: Book3S HV: Enable migration of decrementer register Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 025/183] netfilter: ipv6: nf_defrag: Pass on packets to stack per RFC2460 Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 026/183] tracing/hrtimer: Fix tracing bugs by taking all clock bases and modes into account Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 027/183] KVM: s390: use created_vcpus in more places Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 028/183] platform/x86: dell-laptop: Filter out spurious keyboard backlight change events Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 029/183] xprtrdma: Fix backchannel allocation of extra rpcrdma_reps Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 030/183] selftest: ftrace: Fix to pick text symbols for kprobes Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 031/183] PCI: Add function 1 DMA alias quirk for Marvell 9128 Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 032/183] Input: psmouse - fix Synaptics detection when protocol is disabled Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 033/183] libbpf: Makefile set specified permission mode Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 034/183] Input: synaptics - reset the ABS_X/Y fuzz after initializing MT axes Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 035/183] i40iw: Free IEQ resources Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 036/183] i40iw: Zero-out consumer key on allocate stag for FMR Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 037/183] scsi: qla2xxx: Fix warning in qla2x00_async_iocb_timeout() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 038/183] perf unwind: Do not look just at the global callchain_param.record_mode Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 039/183] tools lib traceevent: Simplify pointer print logic and fix %pF Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 040/183] perf callchain: Fix attr.sample_max_stack setting Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 041/183] tools lib traceevent: Fix get_field_str() for dynamic strings Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 042/183] perf record: Fix failed memory allocation for get_cpuid_str Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 043/183] iommu/exynos: Dont unconditionally steal bus ops Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 044/183] powerpc: System reset avoid interleaving oops using die synchronisation Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 045/183] iommu/vt-d: Use domain instead of cache fetching Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 046/183] dm thin: fix documentation relative to low water mark threshold Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 047/183] dm mpath: return DM_MAPIO_REQUEUE on blk-mq rq allocation failure Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 048/183] blk-mq: turn WARN_ON in __blk_mq_run_hw_queue into printk Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 049/183] ubifs: Fix uninitialized variable in search_dh_cookie() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 050/183] net: stmmac: dwmac-meson8b: fix setting the RGMII TX clock on Meson8b Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 051/183] net: stmmac: dwmac-meson8b: propagate rate changes to the parent clock Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 052/183] spi: a3700: Clear DATA_OUT when performing a read Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 053/183] IB/cq: Dont force IB_POLL_DIRECT poll context for ib_process_cq_direct Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 054/183] nfs: Do not convert nfs_idmap_cache_timeout to jiffies Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 055/183] MIPS: Fix clean of vmlinuz.{32,ecoff,bin,srec} Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 056/183] PCI: Add dummy pci_irqd_intx_xlate() for CONFIG_PCI=n build Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 057/183] watchdog: sp5100_tco: Fix watchdog disable bit Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 058/183] kconfig: Dont leak main menus during parsing Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 059/183] kconfig: Fix automatic menu creation mem leak Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 060/183] kconfig: Fix expr_free() E_NOT leak Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 061/183] mac80211_hwsim: fix possible memory leak in hwsim_new_radio_nl() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 062/183] ipmi/powernv: Fix error return code in ipmi_powernv_probe() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 063/183] Btrfs: set plug for fsync Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 064/183] btrfs: Fix out of bounds access in btrfs_search_slot Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 065/183] Btrfs: fix scrub to repair raid6 corruption Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 066/183] btrfs: fail mount when sb flag is not in BTRFS_SUPER_FLAG_SUPP Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 067/183] Btrfs: fix unexpected EEXIST from btrfs_get_extent Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 068/183] Btrfs: raid56: fix race between merge_bio and rbio_orig_end_io Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 069/183] RDMA/cma: Check existence of netdevice during port validation Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 070/183] f2fs: avoid hungtask when GC encrypted block if io_bits is set Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 071/183] scsi: devinfo: fix format of the device list Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 072/183] scsi: fas216: fix sense buffer initialization Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 073/183] Input: stmfts - set IRQ_NOAUTOEN to the irq flag Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 074/183] HID: roccat: prevent an out of bounds read in kovaplus_profile_activated() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 075/183] nfp: fix error return code in nfp_pci_probe() Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 076/183] block: Set BIO_TRACE_COMPLETION on new bio during split Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 077/183] bpf: test_maps: cleanup sockmaps when test ends Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 078/183] i40evf: Dont schedule reset_task when device is being removed Greg Kroah-Hartman
2018-04-25 10:34 ` [PATCH 4.14 079/183] i40evf: ignore link up if not running Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 080/183] platform/x86: thinkpad_acpi: suppress warning about palm detection Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 081/183] KVM: s390: vsie: use READ_ONCE to access some SCB fields Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 082/183] blk-mq-debugfs: dont allow write on attributes with seq_operations set Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 083/183] ASoC: rockchip: Use dummy_dai for rt5514 dsp dailink Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 084/183] igb: Allow to remove administratively set MAC on VFs Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 085/183] igb: Clear TXSTMP when ptp_tx_work() is timeout Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 086/183] fm10k: fix "failed to kill vid" message for VF Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 087/183] x86/hyperv: Stop suppressing X86_FEATURE_PCID Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 088/183] tty: serial: exar: Relocate sleep wake-up handling Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 089/183] device property: Define type of PROPERTY_ENRTY_*() macros Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 090/183] crypto: artpec6 - remove select on non-existing CRYPTO_SHA384 Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 091/183] RDMA/uverbs: Use an unambiguous errno for method not supported Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 092/183] jffs2: Fix use-after-free bug in jffs2_iget()s error handling path Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 093/183] ixgbe: dont set RXDCTL.RLPML for 82599 Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 094/183] i40e: program fragmented IPv4 filter input set Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 095/183] i40e: fix reported mask for ntuple filters Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 096/183] samples/bpf: Partially fixes the bpf.o build Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 097/183] powerpc/numa: Use ibm,max-associativity-domains to discover possible nodes Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 098/183] powerpc/numa: Ensure nodes initialized for hotplug Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 099/183] RDMA/mlx5: Avoid memory leak in case of XRCD dealloc failure Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 100/183] ntb_transport: Fix bug with max_mw_size parameter Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 101/183] gianfar: prevent integer wrapping in the rx handler Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 102/183] x86/hyperv: Check for required priviliges in hyperv_init() Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 103/183] netfilter: x_tables: fix pointer leaks to userspace Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 104/183] tcp_nv: fix potential integer overflow in tcpnv_acked Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 105/183] kvm: Map PFN-type memory regions as writable (if possible) Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 106/183] x86/kvm/vmx: do not use vm-exit instruction length for fast MMIO when running nested Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 107/183] fs/dax.c: release PMD lock even when there is no PMD support in DAX Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 108/183] ocfs2: return -EROFS to mount.ocfs2 if inode block is invalid Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 109/183] ocfs2/acl: use ip_xattr_sem to protect getting extended attribute Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 110/183] ocfs2: return error when we attempt to access a dirty bh in jbd2 Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 111/183] mm/mempolicy: fix the check of nodemask from user Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 112/183] mm/mempolicy: add nodes_empty check in SYSC_migrate_pages Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 113/183] asm-generic: provide generic_pmdp_establish() Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 114/183] sparc64: update pmdp_invalidate() to return old pmd value Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 115/183] mm: thp: use down_read_trylock() in khugepaged to avoid long block Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 116/183] mm: pin address_space before dereferencing it while isolating an LRU page Greg Kroah-Hartman
2018-04-25 10:35 ` Greg Kroah-Hartman [this message]
2018-04-25 10:35 ` [PATCH 4.14 118/183] openvswitch: Remove padding from packet before L3+ conntrack processing Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 119/183] blk-mq: fix discard merge with scheduler attached Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 120/183] IB/hfi1: Re-order IRQ cleanup to address driver cleanup race Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 121/183] IB/hfi1: Fix for potential refcount leak in hfi1_open_file() Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 122/183] IB/ipoib: Fix for potential no-carrier state Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 123/183] IB/core: Map iWarp AH type to undefined in rdma_ah_find_type Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 124/183] drm/nouveau/pmu/fuc: dont use movw directly anymore Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 125/183] s390/eadm: fix CONFIG_BLOCK include dependency Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 126/183] netfilter: ipv6: nf_defrag: Kill frag queue on RFC2460 failure Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 127/183] x86/power: Fix swsusp_arch_resume prototype Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 128/183] x86/dumpstack: Avoid uninitlized variable Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 129/183] firmware: dmi_scan: Fix handling of empty DMI strings Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 130/183] ACPI: processor_perflib: Do not send _PPC change notification if not ready Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 131/183] ACPI / bus: Do not call _STA on battery devices with unmet dependencies Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 132/183] ACPI / scan: Use acpi_bus_get_status() to initialize ACPI_TYPE_DEVICE devs Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 133/183] bpf: fix selftests/bpf test_kmod.sh failure when CONFIG_BPF_JIT_ALWAYS_ON=y Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 134/183] MIPS: generic: Fix machine compatible matching Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 135/183] MIPS: TXx9: use IS_BUILTIN() for CONFIG_LEDS_CLASS Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 136/183] perf record: Fix period option handling Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 137/183] MIPS: Generic: Support GIC in EIC mode Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 138/183] perf evsel: Fix period/freq terms setup Greg Kroah-Hartman
2018-04-25 10:35 ` [PATCH 4.14 139/183] xen-netfront: Fix race between device setup and open Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 140/183] xen/grant-table: Use put_page instead of free_page Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 141/183] bpf: sockmap, fix leaking maps with attached but not detached progs Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 142/183] RDS: IB: Fix null pointer issue Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 143/183] arm64: spinlock: Fix theoretical trylock() A-B-A with LSE atomics Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 144/183] proc: fix /proc/*/map_files lookup Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 145/183] PM / domains: Fix up domain-idle-states OF parsing Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 146/183] cifs: silence compiler warnings showing up with gcc-8.0.0 Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 147/183] bcache: properly set task state in bch_writeback_thread() Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 148/183] bcache: fix for allocator and register thread race Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 149/183] bcache: fix for data collapse after re-attaching an attached device Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 150/183] bcache: return attach error when no cache set exist Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 151/183] cpufreq: intel_pstate: Enable HWP during system resume on CPU0 Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 152/183] selftests/ftrace: Add some missing glob checks Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 153/183] rxrpc: Dont put crypto buffers on the stack Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 154/183] svcrdma: Fix Read chunk round-up Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 155/183] net: Extra _get in declaration of arch_get_platform_mac_address Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 156/183] tools/libbpf: handle issues with bpf ELF objects containing .eh_frames Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 157/183] KVM: PPC: Book3S HV: Fix handling of secondary HPTEG in HPT resizing code Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 158/183] SUNRPC: Dont call __UDPX_INC_STATS() from a preemptible context Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 159/183] net: stmmac: discard disabled flags in interrupt status register Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 160/183] bpf: fix rlimit in reuseport net selftest Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 161/183] ACPI / EC: Restore polling during noirq suspend/resume phases Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 162/183] PM / wakeirq: Fix unbalanced IRQ enable for wakeirq Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 163/183] vfs/proc/kcore, x86/mm/kcore: Fix SMAP fault when dumping vsyscall user page Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 164/183] powerpc/mm/hash64: Zero PGD pages on allocation Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 165/183] x86/platform/UV: Fix GAM Range Table entries less than 1GB Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 166/183] locking/qspinlock: Ensure node->count is updated before initialising node Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 167/183] powerpc/powernv: IMC fix out of bounds memory access at shutdown Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 168/183] perf test: Fix test trace+probe_libc_inet_pton.sh for s390x Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 169/183] irqchip/gic-v3: Ignore disabled ITS nodes Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 170/183] cpumask: Make for_each_cpu_wrap() available on UP as well Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 171/183] irqchip/gic-v3: Change pr_debug message to pr_devel Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 172/183] RDMA/core: Reduce poll batch for direct cq polling Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 173/183] alarmtimer: Init nanosleep alarm timer on stack Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 174/183] netfilter: x_tables: cap allocations at 512 mbyte Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 175/183] netfilter: x_tables: add counters allocation wrapper Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 176/183] netfilter: compat: prepare xt_compat_init_offsets to return errors Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 177/183] netfilter: compat: reject huge allocation requests Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 178/183] netfilter: x_tables: limit allocation requests for blob rule heads Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 179/183] perf: Fix sample_max_stack maximum check Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 180/183] perf: Return proper values for user stack errors Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 181/183] RDMA/mlx5: Fix NULL dereference while accessing XRC_TGT QPs Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 182/183] Revert "KVM: X86: Fix SMRAM accessing even if VM is shutdown" Greg Kroah-Hartman
2018-04-25 10:36 ` [PATCH 4.14 183/183] mac80211_hwsim: fix use-after-free bug in hwsim_exit_net Greg Kroah-Hartman
2018-04-25 14:41 ` [PATCH 4.14 000/183] 4.14.37-stable review Guenter Roeck
2018-04-25 15:07   ` Greg Kroah-Hartman
2018-04-25 17:09     ` Guenter Roeck
2018-04-25 17:13       ` Greg Kroah-Hartman
2018-04-25 15:24 ` kernelci.org bot
2018-04-25 18:08 ` Nathan Chancellor
2018-04-26  6:59   ` Greg Kroah-Hartman
2018-04-25 18:36 ` Shuah Khan
2018-04-26  2:10 ` 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=20180425103247.138730118@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=akpm@linux-foundation.org \
    --cc=alexander.levin@microsoft.com \
    --cc=jinli.zjl@alibaba-inc.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mgorman@techsingularity.net \
    --cc=shidao.ytt@alibaba-inc.com \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=zhiche.yy@alibaba-inc.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).