linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Chao Yu <yuchao0@huawei.com>, Jaegeuk Kim <jaegeuk@kernel.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-f2fs-devel@lists.sourceforge.net
Subject: [PATCH AUTOSEL 5.1 016/141] f2fs: fix to avoid deadloop if data_flush is on
Date: Fri, 19 Jul 2019 00:00:41 -0400	[thread overview]
Message-ID: <20190719040246.15945-16-sashal@kernel.org> (raw)
In-Reply-To: <20190719040246.15945-1-sashal@kernel.org>

From: Chao Yu <yuchao0@huawei.com>

[ Upstream commit 040d2bb318d1aea4f28cc22504b44e446666c86e ]

As Hagbard Celine reported:

[  615.697824] INFO: task kworker/u16:5:344 blocked for more than 120 seconds.
[  615.697825]       Not tainted 5.0.15-gentoo-f2fslog #4
[  615.697826] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs"
disables this message.
[  615.697827] kworker/u16:5   D    0   344      2 0x80000000
[  615.697831] Workqueue: writeback wb_workfn (flush-259:0)
[  615.697832] Call Trace:
[  615.697836]  ? __schedule+0x2c5/0x8b0
[  615.697839]  schedule+0x32/0x80
[  615.697841]  schedule_preempt_disabled+0x14/0x20
[  615.697842]  __mutex_lock.isra.8+0x2ba/0x4d0
[  615.697845]  ? log_store+0xf5/0x260
[  615.697848]  f2fs_write_data_pages+0x133/0x320
[  615.697851]  ? trace_hardirqs_on+0x2c/0xe0
[  615.697854]  do_writepages+0x41/0xd0
[  615.697857]  __filemap_fdatawrite_range+0x81/0xb0
[  615.697859]  f2fs_sync_dirty_inodes+0x1dd/0x200
[  615.697861]  f2fs_balance_fs_bg+0x2a7/0x2c0
[  615.697863]  ? up_read+0x5/0x20
[  615.697865]  ? f2fs_do_write_data_page+0x2cb/0x940
[  615.697867]  f2fs_balance_fs+0xe5/0x2c0
[  615.697869]  __write_data_page+0x1c8/0x6e0
[  615.697873]  f2fs_write_cache_pages+0x1e0/0x450
[  615.697878]  f2fs_write_data_pages+0x14b/0x320
[  615.697880]  ? trace_hardirqs_on+0x2c/0xe0
[  615.697883]  do_writepages+0x41/0xd0
[  615.697885]  __filemap_fdatawrite_range+0x81/0xb0
[  615.697887]  f2fs_sync_dirty_inodes+0x1dd/0x200
[  615.697889]  f2fs_balance_fs_bg+0x2a7/0x2c0
[  615.697891]  f2fs_write_node_pages+0x51/0x220
[  615.697894]  do_writepages+0x41/0xd0
[  615.697897]  __writeback_single_inode+0x3d/0x3d0
[  615.697899]  writeback_sb_inodes+0x1e8/0x410
[  615.697902]  __writeback_inodes_wb+0x5d/0xb0
[  615.697904]  wb_writeback+0x28f/0x340
[  615.697906]  ? cpumask_next+0x16/0x20
[  615.697908]  wb_workfn+0x33e/0x420
[  615.697911]  process_one_work+0x1a1/0x3d0
[  615.697913]  worker_thread+0x30/0x380
[  615.697915]  ? process_one_work+0x3d0/0x3d0
[  615.697916]  kthread+0x116/0x130
[  615.697918]  ? kthread_create_worker_on_cpu+0x70/0x70
[  615.697921]  ret_from_fork+0x3a/0x50

There is still deadloop in below condition:

d A
- do_writepages
 - f2fs_write_node_pages
  - f2fs_balance_fs_bg
   - f2fs_sync_dirty_inodes
    - f2fs_write_cache_pages
     - mutex_lock(&sbi->writepages)	-- lock once
     - __write_data_page
      - f2fs_balance_fs_bg
       - f2fs_sync_dirty_inodes
        - f2fs_write_data_pages
         - mutex_lock(&sbi->writepages)	-- lock again

Thread A			Thread B
- do_writepages
 - f2fs_write_node_pages
  - f2fs_balance_fs_bg
   - f2fs_sync_dirty_inodes
    - .cp_task = current
				- f2fs_sync_dirty_inodes
				 - .cp_task = current
				 - filemap_fdatawrite
				 - .cp_task = NULL
    - filemap_fdatawrite
     - f2fs_write_cache_pages
      - enter f2fs_balance_fs_bg since .cp_task is NULL
    - .cp_task = NULL

Change as below to avoid this:
- add condition to avoid holding .writepages mutex lock in path
of data flush
- introduce mutex lock sbi.flush_lock to exclude concurrent data
flush in background.

Signed-off-by: Chao Yu <yuchao0@huawei.com>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 fs/f2fs/data.c    | 3 +++
 fs/f2fs/f2fs.h    | 1 +
 fs/f2fs/segment.c | 4 ++++
 fs/f2fs/super.c   | 1 +
 4 files changed, 9 insertions(+)

diff --git a/fs/f2fs/data.c b/fs/f2fs/data.c
index 9d3c11e09a03..59262327b5ec 100644
--- a/fs/f2fs/data.c
+++ b/fs/f2fs/data.c
@@ -2231,6 +2231,9 @@ static inline bool __should_serialize_io(struct inode *inode,
 		return false;
 	if (IS_NOQUOTA(inode))
 		return false;
+	/* to avoid deadlock in path of data flush */
+	if (F2FS_I(inode)->cp_task)
+		return false;
 	if (wbc->sync_mode != WB_SYNC_ALL)
 		return true;
 	if (get_dirty_pages(inode) >= SM_I(F2FS_I_SB(inode))->min_seq_blocks)
diff --git a/fs/f2fs/f2fs.h b/fs/f2fs/f2fs.h
index e2cf567dcbd7..2ba2478d0663 100644
--- a/fs/f2fs/f2fs.h
+++ b/fs/f2fs/f2fs.h
@@ -1200,6 +1200,7 @@ struct f2fs_sb_info {
 	/* for inode management */
 	struct list_head inode_list[NR_INODE_TYPE];	/* dirty inode list */
 	spinlock_t inode_lock[NR_INODE_TYPE];	/* for dirty inode list lock */
+	struct mutex flush_lock;		/* for flush exclusion */
 
 	/* for extent tree cache */
 	struct radix_tree_root extent_tree_root;/* cache extent cache entries */
diff --git a/fs/f2fs/segment.c b/fs/f2fs/segment.c
index 3d6efbfe180f..e9778f06ac0b 100644
--- a/fs/f2fs/segment.c
+++ b/fs/f2fs/segment.c
@@ -546,9 +546,13 @@ void f2fs_balance_fs_bg(struct f2fs_sb_info *sbi)
 		if (test_opt(sbi, DATA_FLUSH)) {
 			struct blk_plug plug;
 
+			mutex_lock(&sbi->flush_lock);
+
 			blk_start_plug(&plug);
 			f2fs_sync_dirty_inodes(sbi, FILE_INODE);
 			blk_finish_plug(&plug);
+
+			mutex_unlock(&sbi->flush_lock);
 		}
 		f2fs_sync_fs(sbi->sb, true);
 		stat_inc_bg_cp_count(sbi->stat_info);
diff --git a/fs/f2fs/super.c b/fs/f2fs/super.c
index f2aaa2cc6b3e..6bc1a15b52ad 100644
--- a/fs/f2fs/super.c
+++ b/fs/f2fs/super.c
@@ -3261,6 +3261,7 @@ static int f2fs_fill_super(struct super_block *sb, void *data, int silent)
 		INIT_LIST_HEAD(&sbi->inode_list[i]);
 		spin_lock_init(&sbi->inode_lock[i]);
 	}
+	mutex_init(&sbi->flush_lock);
 
 	f2fs_init_extent_cache_info(sbi);
 
-- 
2.20.1


  parent reply	other threads:[~2019-07-19  4:33 UTC|newest]

Thread overview: 143+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-19  4:00 [PATCH AUTOSEL 5.1 001/141] drm/panel: simple: Fix panel_simple_dsi_probe Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 002/141] iio: adc: stm32-dfsdm: manage the get_irq error case Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 003/141] iio: adc: stm32-dfsdm: missing error case during probe Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 004/141] drm/virtio: set seqno for dma-fence Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 005/141] ipmi_si: fix unexpected driver unregister warning Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 006/141] staging: vt6656: use meaningful error code during buffer allocation Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 007/141] drm/bochs: Fix connector leak during driver unload Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 008/141] usb: core: hub: Disable hub-initiated U1/U2 Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 009/141] tty: max310x: Fix invalid baudrate divisors calculator Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 010/141] pinctrl: rockchip: fix leaked of_node references Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 011/141] tty: serial: cpm_uart - fix init when SMC is relocated Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 012/141] consolemap: Fix a memory leaking bug in drivers/tty/vt/consolemap.c Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 013/141] drm/msm/a6xx: Check for ERR or NULL before iounmap Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 014/141] drm/amd/display: Fill prescale_params->scale for RGB565 Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 015/141] drm/amdgpu: Reserve shared fence for eviction fence Sasha Levin
2019-07-19  4:00 ` Sasha Levin [this message]
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 017/141] drm/amdgpu/sriov: Need to initialize the HDP_NONSURFACE_BAStE Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 018/141] drm/amd/display: Disable ABM before destroy ABM struct Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 019/141] drm/amdkfd: Fix a potential memory leak Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 020/141] drm/amdkfd: Fix sdma queue map issue Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 021/141] drm/edid: Fix a missing-check bug in drm_load_edid_firmware() Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 022/141] tools: PCI: Fix broken pcitest compilation Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 023/141] PCI: Return error if cannot probe VF Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 024/141] drm/bridge: tc358767: read display_props in get_modes() Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 025/141] drm/bridge: sii902x: pixel clock unit is 10kHz instead of 1kHz Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 026/141] drm/amd/display: CS_TFM_1D only applied post EOTF Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 027/141] drm/amd/display: Increase Backlight Gain Step Size Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 028/141] f2fs: Fix accounting for unusable blocks Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 029/141] f2fs: Lower threshold for disable_cp_again Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 030/141] gpu: host1x: Increase maximum DMA segment size Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 031/141] drm/crc-debugfs: User irqsafe spinlock in drm_crtc_add_crc_entry Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 032/141] drm/crc-debugfs: Also sprinkle irqrestore over early exits Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 033/141] drm/vkms: Forward timer right after drm_crtc_handle_vblank Sasha Levin
2019-07-19  4:00 ` [PATCH AUTOSEL 5.1 034/141] memstick: Fix error cleanup path of memstick_init Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 035/141] tty/serial: digicolor: Fix digicolor-usart already registered warning Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 036/141] tty: serial: msm_serial: avoid system lockup condition Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 037/141] serial: 8250: Fix TX interrupt handling condition Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 038/141] drm/amd/display: Always allocate initial connector state state Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 039/141] drm/virtio: Add memory barriers for capset cache Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 040/141] drm/amd/display: set link->dongle_max_pix_clk to 0 on a disconnect Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 041/141] phy: renesas: rcar-gen2: Fix memory leak at error paths Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 042/141] drm/amd/display: fix compilation error Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 043/141] powerpc/pseries/mobility: prevent cpu hotplug during DT update Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 044/141] dma-remap: Avoid de-referencing NULL atomic_pool Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 045/141] drm/rockchip: Properly adjust to a true clock in adjusted_mode Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 046/141] platform/x86: asus-wmi: Increase input buffer size of WMI methods Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 047/141] iio:core: Fix bug in length of event info_mask and catch unhandled bits set in masks Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 048/141] iio: adxl372: fix iio_triggered_buffer_{pre,post}enable positions Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 049/141] serial: imx: fix locking in set_termios() Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 050/141] serial: uartps: Use the same dynamic major number for all ports Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 051/141] tty: serial_core: Set port active bit in uart_port_activate Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 052/141] usb: gadget: Zero ffs_io_data Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 053/141] kvm: vmx: fix limit checking in get_vmx_mem_address() Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 054/141] usb: gadget: storage: Remove warning message Sasha Levin
2019-07-19  5:27   ` Thinh Nguyen
2019-07-28 15:37     ` Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 055/141] mmc: sdhci: sdhci-pci-o2micro: Check if controller supports 8-bit width Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 056/141] KVM: nVMX: Intercept VMWRITEs to GUEST_{CS,SS}_AR_BYTES Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 057/141] kvm: vmx: segment limit check: use access length Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 058/141] powerpc/pci/of: Fix OF flags parsing for 64bit BARs Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 059/141] drm/msm: Depopulate platform on probe failure Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 060/141] serial: mctrl_gpio: Check if GPIO property exisits before requesting it Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 061/141] staging: ks7010: Fix build error Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 062/141] PCI: sysfs: Ignore lockdep for remove attribute Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 063/141] i2c: stm32f7: fix the get_irq error cases Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 064/141] iio: st_accel: fix iio_triggered_buffer_{pre,post}enable positions Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 065/141] kbuild: Add -Werror=unknown-warning-option to CLANG_FLAGS Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 066/141] genksyms: Teach parser about 128-bit built-in types Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 067/141] PCI: xilinx-nwl: Fix Multi MSI data programming Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 068/141] iio: iio-utils: Fix possible incorrect mask calculation Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 069/141] powerpc/cacheflush: fix variable set but not used Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 070/141] powerpc/xmon: Fix disabling tracing while in xmon Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 071/141] powerpc/rtas: retry when cpu offline races with suspend/migration Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 072/141] fixdep: check return value of printf() and putchar() Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 073/141] recordmcount: Fix spurious mcount entries on powerpc Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 074/141] mfd: madera: Add missing of table registration Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 075/141] mfd: core: Set fwnode for created devices Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 076/141] mfd: arizona: Fix undefined behavior Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 077/141] mfd: hi655x-pmic: Fix missing return value check for devm_regmap_init_mmio_clk Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 078/141] mm/swap: fix release_pages() when releasing devmap pages Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 079/141] um: Silence lockdep complaint about mmap_sem Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 080/141] f2fs: fix is_idle() check for discard type Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 081/141] powerpc/4xx/uic: clear pending interrupt after irq type/pol change Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 082/141] RDMA/i40iw: Set queue pair state when being queried Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 083/141] serial: sh-sci: Terminate TX DMA during buffer flushing Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 084/141] serial: sh-sci: Fix TX DMA buffer flushing and workqueue races Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 085/141] IB/mlx5: Fixed reporting counters on 2nd port for Dual port RoCE Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 086/141] powerpc/mm: Handle page table allocation failures Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 087/141] IB/ipoib: Add child to parent list only if device initialized Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 088/141] arm64: assembler: Switch ESB-instruction with a vanilla nop if !ARM64_HAS_RAS Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 089/141] PCI: tegra: Enable Relaxed Ordering only for Tegra20 & Tegra30 Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 090/141] KVM: nVMX: Stash L1's CR3 in vmcs01.GUEST_CR3 on nested entry w/o EPT Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 091/141] PCI: mobiveil: Fix PCI base address in MEM/IO outbound windows Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 092/141] PCI: mobiveil: Fix the Class Code field Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 093/141] kallsyms: exclude kasan local symbols on s390 Sasha Levin
2019-07-19  4:01 ` [PATCH AUTOSEL 5.1 094/141] PCI: mobiveil: Initialize Primary/Secondary/Subordinate bus numbers Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 095/141] PCI: mobiveil: Use the 1st inbound window for MEM inbound transactions Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 096/141] perf test mmap-thread-lookup: Initialize variable to suppress memory sanitizer warning Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 097/141] perf stat: Fix use-after-freed pointer detected by the smatch tool Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 098/141] perf top: Fix potential NULL pointer dereference " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 099/141] perf trace: Fix potential NULL pointer dereference found " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 100/141] perf session: " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 101/141] perf map: Fix potential NULL pointer dereference found by " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 102/141] perf annotate: Fix dereferencing freed memory found by the " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 103/141] perf hists browser: Fix potential NULL pointer dereference " Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 104/141] RDMA/rxe: Fill in wc byte_len with IB_WC_RECV_RDMA_WITH_IMM Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 105/141] PCI: dwc: pci-dra7xx: Fix compilation when !CONFIG_GPIOLIB Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 106/141] perf intel-bts: Fix potential NULL pointer dereference found by the smatch tool Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 107/141] RDMA/core: Fix race when resolving IP address Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 108/141] nvme-pci: check for NULL return from pci_alloc_p2pmem() Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 109/141] nvme-pci: limit max_hw_sectors based on the DMA max mapping size Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 110/141] nvme-tcp: don't use sendpage for SLAB pages Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 111/141] nvme-tcp: set the STABLE_WRITES flag when data digests are enabled Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 112/141] powerpc/boot: add {get, put}_unaligned_be32 to xz_config.h Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 113/141] block: init flush rq ref count to 1 Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 114/141] rds: Accept peer connection reject messages due to incompatible version Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 115/141] f2fs: fix to avoid long latency during umount Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 116/141] f2fs: avoid out-of-range memory access Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 117/141] mailbox: handle failed named mailbox channel request Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 118/141] dlm: check if workqueues are NULL before flushing/destroying Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 119/141] powerpc/eeh: Handle hugepages in ioremap space Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 120/141] s390/dasd: Make layout analysis ESE compatible Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 121/141] net/mlx5e: IPoIB, Add error path in mlx5_rdma_setup_rn Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 122/141] platform/x86: Fix PCENGINES_APU2 Kconfig warning Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 123/141] block/bio-integrity: fix a memory leak bug Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 124/141] nvme: fix NULL deref for fabrics options Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 125/141] sh: prevent warnings when using iounmap Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 126/141] mm/kmemleak.c: fix check for softirq context Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 127/141] 9p: pass the correct prototype to read_cache_page Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 128/141] mm/mincore.c: fix race between swapoff and mincore Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 129/141] mm/gup.c: mark undo_dev_pagemap as __maybe_unused Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 130/141] mm/gup.c: remove some BUG_ONs from get_gate_page() Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 131/141] memcg, fsnotify: no oom-kill for remote memcg charging Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 132/141] mm/mmu_notifier: use hlist_add_head_rcu() Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 133/141] proc: use down_read_killable mmap_sem for /proc/pid/smaps_rollup Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 134/141] proc: use down_read_killable mmap_sem for /proc/pid/pagemap Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 135/141] proc: use down_read_killable mmap_sem for /proc/pid/clear_refs Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 136/141] proc: use down_read_killable mmap_sem for /proc/pid/map_files Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 137/141] cxgb4: reduce kernel stack usage in cudbg_collect_mem_region() Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 138/141] proc: use down_read_killable mmap_sem for /proc/pid/maps Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 139/141] locking/lockdep: Fix lock used or unused stats error Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 140/141] mm: use down_read_killable for locking mmap_sem in access_remote_vm Sasha Levin
2019-07-19  4:02 ` [PATCH AUTOSEL 5.1 141/141] mm, swap: fix race between swapoff and some swap operations 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=20190719040246.15945-16-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=jaegeuk@kernel.org \
    --cc=linux-f2fs-devel@lists.sourceforge.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    --cc=yuchao0@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).