public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Qian Cai <cai@lca.pw>, Andrew Morton <akpm@linux-foundation.org>,
	Marco Elver <elver@google.com>,
	Matthew Wilcox <willy@infradead.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Sasha Levin <sashal@kernel.org>,
	linux-mm@kvack.org
Subject: [PATCH AUTOSEL 4.14 083/127] mm/vmscan.c: fix data races using kswapd_classzone_idx
Date: Thu, 17 Sep 2020 22:11:36 -0400	[thread overview]
Message-ID: <20200918021220.2066485-83-sashal@kernel.org> (raw)
In-Reply-To: <20200918021220.2066485-1-sashal@kernel.org>

From: Qian Cai <cai@lca.pw>

[ Upstream commit 5644e1fbbfe15ad06785502bbfe5751223e5841d ]

pgdat->kswapd_classzone_idx could be accessed concurrently in
wakeup_kswapd().  Plain writes and reads without any lock protection
result in data races.  Fix them by adding a pair of READ|WRITE_ONCE() as
well as saving a branch (compilers might well optimize the original code
in an unintentional way anyway).  While at it, also take care of
pgdat->kswapd_order and non-kswapd threads in allow_direct_reclaim().  The
data races were reported by KCSAN,

 BUG: KCSAN: data-race in wakeup_kswapd / wakeup_kswapd

 write to 0xffff9f427ffff2dc of 4 bytes by task 7454 on cpu 13:
  wakeup_kswapd+0xf1/0x400
  wakeup_kswapd at mm/vmscan.c:3967
  wake_all_kswapds+0x59/0xc0
  wake_all_kswapds at mm/page_alloc.c:4241
  __alloc_pages_slowpath+0xdcc/0x1290
  __alloc_pages_slowpath at mm/page_alloc.c:4512
  __alloc_pages_nodemask+0x3bb/0x450
  alloc_pages_vma+0x8a/0x2c0
  do_anonymous_page+0x16e/0x6f0
  __handle_mm_fault+0xcd5/0xd40
  handle_mm_fault+0xfc/0x2f0
  do_page_fault+0x263/0x6f9
  page_fault+0x34/0x40

 1 lock held by mtest01/7454:
  #0: ffff9f425afe8808 (&mm->mmap_sem#2){++++}, at:
 do_page_fault+0x143/0x6f9
 do_user_addr_fault at arch/x86/mm/fault.c:1405
 (inlined by) do_page_fault at arch/x86/mm/fault.c:1539
 irq event stamp: 6944085
 count_memcg_event_mm+0x1a6/0x270
 count_memcg_event_mm+0x119/0x270
 __do_softirq+0x34c/0x57c
 irq_exit+0xa2/0xc0

 read to 0xffff9f427ffff2dc of 4 bytes by task 7472 on cpu 38:
  wakeup_kswapd+0xc8/0x400
  wake_all_kswapds+0x59/0xc0
  __alloc_pages_slowpath+0xdcc/0x1290
  __alloc_pages_nodemask+0x3bb/0x450
  alloc_pages_vma+0x8a/0x2c0
  do_anonymous_page+0x16e/0x6f0
  __handle_mm_fault+0xcd5/0xd40
  handle_mm_fault+0xfc/0x2f0
  do_page_fault+0x263/0x6f9
  page_fault+0x34/0x40

 1 lock held by mtest01/7472:
  #0: ffff9f425a9ac148 (&mm->mmap_sem#2){++++}, at:
 do_page_fault+0x143/0x6f9
 irq event stamp: 6793561
 count_memcg_event_mm+0x1a6/0x270
 count_memcg_event_mm+0x119/0x270
 __do_softirq+0x34c/0x57c
 irq_exit+0xa2/0xc0

 BUG: KCSAN: data-race in kswapd / wakeup_kswapd

 write to 0xffff90973ffff2dc of 4 bytes by task 820 on cpu 6:
  kswapd+0x27c/0x8d0
  kthread+0x1e0/0x200
  ret_from_fork+0x27/0x50

 read to 0xffff90973ffff2dc of 4 bytes by task 6299 on cpu 0:
  wakeup_kswapd+0xf3/0x450
  wake_all_kswapds+0x59/0xc0
  __alloc_pages_slowpath+0xdcc/0x1290
  __alloc_pages_nodemask+0x3bb/0x450
  alloc_pages_vma+0x8a/0x2c0
  do_anonymous_page+0x170/0x700
  __handle_mm_fault+0xc9f/0xd00
  handle_mm_fault+0xfc/0x2f0
  do_page_fault+0x263/0x6f9
  page_fault+0x34/0x40

Signed-off-by: Qian Cai <cai@lca.pw>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Marco Elver <elver@google.com>
Cc: Matthew Wilcox <willy@infradead.org>
Link: http://lkml.kernel.org/r/1582749472-5171-1-git-send-email-cai@lca.pw
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 mm/vmscan.c | 45 ++++++++++++++++++++++++++-------------------
 1 file changed, 26 insertions(+), 19 deletions(-)

diff --git a/mm/vmscan.c b/mm/vmscan.c
index c6962aa5ddb40..5ee6fbdec8a8d 100644
--- a/mm/vmscan.c
+++ b/mm/vmscan.c
@@ -2950,8 +2950,9 @@ static bool allow_direct_reclaim(pg_data_t *pgdat)
 
 	/* kswapd must be awake if processes are being throttled */
 	if (!wmark_ok && waitqueue_active(&pgdat->kswapd_wait)) {
-		pgdat->kswapd_classzone_idx = min(pgdat->kswapd_classzone_idx,
-						(enum zone_type)ZONE_NORMAL);
+		if (READ_ONCE(pgdat->kswapd_classzone_idx) > ZONE_NORMAL)
+			WRITE_ONCE(pgdat->kswapd_classzone_idx, ZONE_NORMAL);
+
 		wake_up_interruptible(&pgdat->kswapd_wait);
 	}
 
@@ -3451,9 +3452,9 @@ out:
 static enum zone_type kswapd_classzone_idx(pg_data_t *pgdat,
 					   enum zone_type prev_classzone_idx)
 {
-	if (pgdat->kswapd_classzone_idx == MAX_NR_ZONES)
-		return prev_classzone_idx;
-	return pgdat->kswapd_classzone_idx;
+	enum zone_type curr_idx = READ_ONCE(pgdat->kswapd_classzone_idx);
+
+	return curr_idx == MAX_NR_ZONES ? prev_classzone_idx : curr_idx;
 }
 
 static void kswapd_try_to_sleep(pg_data_t *pgdat, int alloc_order, int reclaim_order,
@@ -3497,8 +3498,11 @@ static void kswapd_try_to_sleep(pg_data_t *pgdat, int alloc_order, int reclaim_o
 		 * the previous request that slept prematurely.
 		 */
 		if (remaining) {
-			pgdat->kswapd_classzone_idx = kswapd_classzone_idx(pgdat, classzone_idx);
-			pgdat->kswapd_order = max(pgdat->kswapd_order, reclaim_order);
+			WRITE_ONCE(pgdat->kswapd_classzone_idx,
+				   kswapd_classzone_idx(pgdat, classzone_idx));
+
+			if (READ_ONCE(pgdat->kswapd_order) < reclaim_order)
+				WRITE_ONCE(pgdat->kswapd_order, reclaim_order);
 		}
 
 		finish_wait(&pgdat->kswapd_wait, &wait);
@@ -3580,12 +3584,12 @@ static int kswapd(void *p)
 	tsk->flags |= PF_MEMALLOC | PF_SWAPWRITE | PF_KSWAPD;
 	set_freezable();
 
-	pgdat->kswapd_order = 0;
-	pgdat->kswapd_classzone_idx = MAX_NR_ZONES;
+	WRITE_ONCE(pgdat->kswapd_order, 0);
+	WRITE_ONCE(pgdat->kswapd_classzone_idx, MAX_NR_ZONES);
 	for ( ; ; ) {
 		bool ret;
 
-		alloc_order = reclaim_order = pgdat->kswapd_order;
+		alloc_order = reclaim_order = READ_ONCE(pgdat->kswapd_order);
 		classzone_idx = kswapd_classzone_idx(pgdat, classzone_idx);
 
 kswapd_try_sleep:
@@ -3593,10 +3597,10 @@ kswapd_try_sleep:
 					classzone_idx);
 
 		/* Read the new order and classzone_idx */
-		alloc_order = reclaim_order = pgdat->kswapd_order;
+		alloc_order = reclaim_order = READ_ONCE(pgdat->kswapd_order);
 		classzone_idx = kswapd_classzone_idx(pgdat, classzone_idx);
-		pgdat->kswapd_order = 0;
-		pgdat->kswapd_classzone_idx = MAX_NR_ZONES;
+		WRITE_ONCE(pgdat->kswapd_order, 0);
+		WRITE_ONCE(pgdat->kswapd_classzone_idx, MAX_NR_ZONES);
 
 		ret = try_to_freeze();
 		if (kthread_should_stop())
@@ -3638,20 +3642,23 @@ kswapd_try_sleep:
 void wakeup_kswapd(struct zone *zone, int order, enum zone_type classzone_idx)
 {
 	pg_data_t *pgdat;
+	enum zone_type curr_idx;
 
 	if (!managed_zone(zone))
 		return;
 
 	if (!cpuset_zone_allowed(zone, GFP_KERNEL | __GFP_HARDWALL))
 		return;
+
 	pgdat = zone->zone_pgdat;
+	curr_idx = READ_ONCE(pgdat->kswapd_classzone_idx);
+
+	if (curr_idx == MAX_NR_ZONES || curr_idx < classzone_idx)
+		WRITE_ONCE(pgdat->kswapd_classzone_idx, classzone_idx);
+
+	if (READ_ONCE(pgdat->kswapd_order) < order)
+		WRITE_ONCE(pgdat->kswapd_order, order);
 
-	if (pgdat->kswapd_classzone_idx == MAX_NR_ZONES)
-		pgdat->kswapd_classzone_idx = classzone_idx;
-	else
-		pgdat->kswapd_classzone_idx = max(pgdat->kswapd_classzone_idx,
-						  classzone_idx);
-	pgdat->kswapd_order = max(pgdat->kswapd_order, order);
 	if (!waitqueue_active(&pgdat->kswapd_wait))
 		return;
 
-- 
2.25.1


  parent reply	other threads:[~2020-09-18  2:14 UTC|newest]

Thread overview: 129+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18  2:10 [PATCH AUTOSEL 4.14 001/127] mm: fix double page fault on arm64 if PTE_AF is cleared Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 002/127] scsi: aacraid: fix illegal IO beyond last LBA Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 003/127] m68k: q40: Fix info-leak in rtc_ioctl Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 004/127] gma/gma500: fix a memory disclosure bug due to uninitialized bytes Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 005/127] ASoC: kirkwood: fix IRQ error handling Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 006/127] media: smiapp: Fix error handling at NVM reading Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 007/127] ata: sata_mv, avoid trigerrable BUG_ON Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 008/127] PM / devfreq: tegra30: Fix integer overflow on CPU's freq max out Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 009/127] scsi: fnic: fix use after free Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 010/127] clk/ti/adpll: allocate room for terminating null Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 011/127] mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup() Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 012/127] mfd: mfd-core: Protect against NULL call-back function pointer Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 013/127] USB: serial: mos7840: fix probe error handling Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 014/127] tracing: Adding NULL checks for trace_array descriptor pointer Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 015/127] bcache: fix a lost wake-up problem caused by mca_cannibalize_lock Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 016/127] RDMA/i40iw: Fix potential use after free Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 017/127] xfs: fix attr leaf header freemap.size underflow Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 018/127] RDMA/iw_cgxb4: Fix an error handling path in 'c4iw_connect()' Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 019/127] mmc: core: Fix size overflow for mmc partitions Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 020/127] gfs2: clean up iopen glock mess in gfs2_create_inode Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 021/127] debugfs: Fix !DEBUG_FS debugfs_create_automount Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 022/127] CIFS: Properly process SMB3 lease breaks Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 023/127] kernel/sys.c: avoid copying possible padding bytes in copy_to_user Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 024/127] neigh_stat_seq_next() should increase position index Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 025/127] rt_cpu_seq_next " Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 026/127] seqlock: Require WRITE_ONCE surrounding raw_seqcount_barrier Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 027/127] media: ti-vpe: cal: Restrict DMA to avoid memory corruption Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 028/127] ACPI: EC: Reference count query handlers under lock Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 029/127] efi/arm: Defer probe of PCIe backed efifb on DT systems Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 030/127] dmaengine: zynqmp_dma: fix burst length configuration Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 031/127] powerpc/eeh: Only dump stack once if an MMIO loop is detected Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 032/127] tracing: Set kernel_stack's caller size properly Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 033/127] ext4: make dioread_nolock the default Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 034/127] ar5523: Add USB ID of SMCWUSBT-G2 wireless adapter Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 035/127] selftests/ftrace: fix glob selftest Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 036/127] tools/power/x86/intel_pstate_tracer: changes for python 3 compatibility Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 037/127] Bluetooth: Fix refcount use-after-free issue Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 038/127] mm: pagewalk: fix termination condition in walk_pte_range() Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 039/127] Bluetooth: prefetch channel before killing sock Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 040/127] KVM: fix overflow of zero page refcount with ksm running Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 041/127] ALSA: hda: Clear RIRB status before reading WP Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 042/127] skbuff: fix a data race in skb_queue_len() Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 043/127] audit: CONFIG_CHANGE don't log internal bookkeeping as an event Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 044/127] selinux: sel_avc_get_stat_idx should increase position index Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 045/127] scsi: lpfc: Fix RQ buffer leakage when no IOCBs available Sasha Levin
2020-09-18  2:10 ` [PATCH AUTOSEL 4.14 046/127] scsi: lpfc: Fix coverity errors in fmdi attribute handling Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 047/127] drm/omap: fix possible object reference leak Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 048/127] perf test: Fix test trace+probe_vfs_getname.sh on s390 Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 049/127] RDMA/rxe: Fix configuration of atomic queue pair attributes Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 050/127] KVM: x86: fix incorrect comparison in trace event Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 051/127] media: staging/imx: Missing assignment in imx_media_capture_device_register() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 052/127] x86/pkeys: Add check for pkey "overflow" Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 053/127] bpf: Remove recursion prevention from rcu free callback Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 054/127] dmaengine: tegra-apb: Prevent race conditions on channel's freeing Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 055/127] media: go7007: Fix URB type for interrupt handling Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 056/127] Bluetooth: guard against controllers sending zero'd events Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 057/127] timekeeping: Prevent 32bit truncation in scale64_check_overflow() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 058/127] ext4: fix a data race at inode->i_disksize Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 059/127] mm: avoid data corruption on CoW fault into PFN-mapped VMA Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 060/127] drm/amdgpu: increase atombios cmd timeout Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 061/127] ath10k: use kzalloc to read for ath10k_sdio_hif_diag_read Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 062/127] scsi: aacraid: Disabling TM path and only processing IOP reset Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 063/127] Bluetooth: L2CAP: handle l2cap config request during open state Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 064/127] media: tda10071: fix unsigned sign extension overflow Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 065/127] xfs: don't ever return a stale pointer from __xfs_dir3_free_read Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 066/127] tpm: ibmvtpm: Wait for buffer to be set before proceeding Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 067/127] rtc: ds1374: fix possible race condition Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 068/127] tracing: Use address-of operator on section symbols Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 069/127] serial: 8250_port: Don't service RX FIFO if throttled Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 070/127] serial: 8250_omap: Fix sleeping function called from invalid context during probe Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 071/127] serial: 8250: 8250_omap: Terminate DMA before pushing data on RX timeout Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 072/127] perf cpumap: Fix snprintf overflow check Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 073/127] cpufreq: powernv: Fix frame-size-overflow in powernv_cpufreq_work_fn Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 074/127] tools: gpio-hammer: Avoid potential overflow in main Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 075/127] RDMA/rxe: Set sys_image_guid to be aligned with HW IB devices Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 076/127] SUNRPC: Fix a potential buffer overflow in 'svc_print_xprts()' Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 077/127] svcrdma: Fix leak of transport addresses Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 078/127] ubifs: Fix out-of-bounds memory access caused by abnormal value of node_len Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 079/127] ALSA: usb-audio: Fix case when USB MIDI interface has more than one extra endpoint descriptor Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 080/127] NFS: Fix races nfs_page_group_destroy() vs nfs_destroy_unlinked_subrequests() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 081/127] mm/kmemleak.c: use address-of operator on section symbols Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 082/127] mm/filemap.c: clear page error before actual read Sasha Levin
2020-09-18  2:11 ` Sasha Levin [this message]
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 084/127] mm/mmap.c: initialize align_offset explicitly for vm_unmapped_area Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 085/127] scsi: qedi: Fix termination timeouts in session logout Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 086/127] serial: uartps: Wait for tx_empty in console setup Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 087/127] KVM: Remove CREATE_IRQCHIP/SET_PIT2 race Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 088/127] bdev: Reduce time holding bd_mutex in sync in blkdev_close() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 089/127] drivers: char: tlclk.c: Avoid data race between init and interrupt handler Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 090/127] staging:r8188eu: avoid skb_clone for amsdu to msdu conversion Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 091/127] sparc64: vcc: Fix error return code in vcc_probe() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 092/127] arm64: cpufeature: Relax checks for AArch32 support at EL[0-2] Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 093/127] dt-bindings: sound: wm8994: Correct required supplies based on actual implementaion Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 094/127] atm: fix a memory leak of vcc->user_back Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 095/127] perf parse-events: Fix memory leaks found on parse_events Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 096/127] power: supply: max17040: Correct voltage reading Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 097/127] phy: samsung: s5pv210-usb2: Add delay after reset Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 098/127] Bluetooth: Handle Inquiry Cancel error after Inquiry Complete Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 099/127] USB: EHCI: ehci-mv: fix error handling in mv_ehci_probe() Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 100/127] tty: serial: samsung: Correct clock selection logic Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 101/127] ALSA: hda: Fix potential race in unsol event handler Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 102/127] powerpc/traps: Make unrecoverable NMIs die instead of panic Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 103/127] fuse: don't check refcount after stealing page Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 104/127] USB: EHCI: ehci-mv: fix less than zero comparison of an unsigned int Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 105/127] arm64/cpufeature: Drop TraceFilt feature exposure from ID_DFR0 register Sasha Levin
2020-09-18  2:11 ` [PATCH AUTOSEL 4.14 106/127] e1000: Do not perform reset in reset_task if we are already down Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 107/127] drm/nouveau/debugfs: fix runtime pm imbalance on error Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 108/127] printk: handle blank console arguments passed in Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 109/127] usb: dwc3: Increase timeout for CmdAct cleared by device controller Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 110/127] btrfs: don't force read-only after error in drop snapshot Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 111/127] vfio/pci: fix memory leaks of eventfd ctx Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 112/127] perf parse-events: Fix incorrect conversion of 'if () free()' to 'zfree()' Sasha Levin
2020-09-28 19:54   ` Naresh Kamboju
2020-09-28 22:01     ` Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 113/127] perf util: Fix memory leak of prefix_if_not_in Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 114/127] perf kcore_copy: Fix module map when there are no modules loaded Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 115/127] mtd: rawnand: omap_elm: Fix runtime PM imbalance on error Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 116/127] ceph: fix potential race in ceph_check_caps Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 117/127] mm/swap_state: fix a data race in swapin_nr_pages Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 118/127] rapidio: avoid data race between file operation callbacks and mport_cdev_add() Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 119/127] mtd: parser: cmdline: Support MTD names containing one or more colons Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 120/127] x86/speculation/mds: Mark mds_user_clear_cpu_buffers() __always_inline Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 121/127] vfio/pci: Clear error and request eventfd ctx after releasing Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 122/127] cifs: Fix double add page to memcg when cifs_readpages Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 123/127] scsi: libfc: Handling of extra kref Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 124/127] scsi: libfc: Skip additional kref updating work event Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 125/127] selftests/x86/syscall_nt: Clear weird flags after each test Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 126/127] vfio/pci: fix racy on error and request eventfd ctx Sasha Levin
2020-09-18  2:12 ` [PATCH AUTOSEL 4.14 127/127] btrfs: qgroup: fix data leak caused by race between writeback and truncate 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=20200918021220.2066485-83-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=cai@lca.pw \
    --cc=elver@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    --cc=willy@infradead.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