KCSAN: data-race in __lru_add_drain_all / folio_add_lru

Status: moderation: reported on 2021/12/14 17:42
Subsystems: mm
Labels: prio:low
[Documentation on labels]
Reported-by: syzbot+d676f4fcc6452f55d1d0@syzkaller.appspotmail.com
First crash: 1752d, last: 21h36m
✨ AI Jobs (3)
ID Workflow Result Correct Bug Created Started Finished Revision
65407472 assessment-security DenialOfService: ❌ Exploitable: ❌ FilesystemTrigger: ❌ NetworkTrigger: ❌ PeripheralTrigger: ❌ RemoteTrigger: ❌ Unprivileged: ✅ UserNamespace: ✅ VMGuestTrigger: ✅ VMHostTrigger: ❌ KCSAN: data-race in __lru_add_drain_all / folio_add_lru 2026/05/26 14:11 2026/05/26 14:11 2026/05/26 14:32 76d4b4b1
6f19202b assessment-kcsan Benign: ✅ Confident: ✅ KCSAN: data-race in __lru_add_drain_all / folio_add_lru 2026/02/25 03:53 2026/02/25 03:53 2026/02/25 03:55 305c0ec5
3876cab2 assessment-kcsan 💥 KCSAN: data-race in __lru_add_drain_all / folio_add_lru 2026/01/15 23:52 2026/01/15 23:52 2026/01/15 23:53 a9d6a792

Sample crash report:
EXT4-fs (loop5): unmounting filesystem 00000000-0000-0000-0000-000000000000.
==================================================================
BUG: KCSAN: data-race in __lru_add_drain_all / folio_add_lru

read-write to 0xffff888237c26528 of 1 bytes by task 13597 on cpu 0:
 folio_batch_add include/linux/folio_batch.h:77 [inline]
 __folio_batch_add_and_move mm/swap.c:229 [inline]
 folio_add_lru+0xa5/0x250 mm/swap.c:562
 shmem_alloc_and_add_folio mm/shmem.c:2018 [inline]
 shmem_get_folio_gfp+0x7cc/0xd90 mm/shmem.c:2512
 shmem_get_folio mm/shmem.c:2618 [inline]
 shmem_fallocate+0x5ef/0x8f0 mm/shmem.c:3712
 vfs_fallocate+0x3ac/0x400 fs/open.c:338
 ksys_fallocate fs/open.c:362 [inline]
 __do_sys_fallocate fs/open.c:367 [inline]
 __se_sys_fallocate fs/open.c:365 [inline]
 __x64_sys_fallocate+0x7a/0xd0 fs/open.c:365
 x64_sys_call+0x1e1d/0x2550 arch/x86/include/generated/asm/syscalls_64.h:286
 do_syscall_x64 arch/x86/entry/syscall_64.c:61 [inline]
 do_syscall_64+0x112/0x360 arch/x86/entry/syscall_64.c:84
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237c26528 of 1 bytes by task 12133 on cpu 1:
 folio_batch_count include/linux/folio_batch.h:56 [inline]
 cpu_needs_drain mm/swap.c:831 [inline]
 __lru_add_drain_all+0x180/0x450 mm/swap.c:928
 lru_add_drain_all+0x10/0x20 mm/swap.c:944
 invalidate_bdev+0x47/0x70 block/bdev.c:101
 ext4_put_super+0x614/0x7c0 fs/ext4/super.c:1355
 generic_shutdown_super+0xee/0x220 fs/super.c:769
 kill_block_super+0x2d/0xb0 fs/super.c:1918
 ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7507
 deactivate_locked_super+0x75/0x200 fs/super.c:603
 deactivate_super+0x9a/0xb0 fs/super.c:632
 cleanup_mnt+0x2c3/0x340 fs/namespace.c:1317
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1324
 task_work_run+0x130/0x1a0 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:70 [inline]
 exit_to_user_mode_loop+0x1e4/0x8c0 kernel/entry/common.c:101
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:230 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:336 [inline]
 do_syscall_64+0x212/0x360 arch/x86/entry/syscall_64.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x17 -> 0x19

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 12133 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(lazy) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (2037):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/08/20 11:58 upstream a4ff2be345d0 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/19 18:58 upstream e8bf40d15402 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/19 14:10 upstream bd5f485f3f02 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/18 08:18 upstream ff68e5f557f6 1e72964b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/17 03:50 upstream dcb68831eac7 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/16 07:14 upstream 3eb40771c00a 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/15 15:59 upstream 15ef2f78c49d 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/15 04:06 upstream dac3e89a2c90 746171ee .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/13 22:36 upstream 3aa1dcaa4f6f b13552fe .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/12 13:35 upstream f5bbbfec59b4 f8d35649 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/11 16:01 upstream f5bbbfec59b4 71790083 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/11 08:29 upstream d58772d8520c 508909ea .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/10 03:40 upstream b9b3e33b70b7 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/09 16:24 upstream 06cf61899d64 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/08 04:00 upstream bcc44b6785f2 5d63f80b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/08 00:05 upstream bcc44b6785f2 e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/07 11:41 upstream f9a2394a2348 e4ef95d6 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/07 07:15 upstream f9a2394a2348 c38879ea .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/05 11:58 upstream c21bb4193868 52aa2820 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/04 18:50 upstream 562bfb501c54 d4abbeac .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/04 02:37 upstream 848acc8ffe1b 9451e17e .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/03 19:19 upstream 075b74841bd0 6b7c9f71 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/03 16:11 upstream 075b74841bd0 6b7c9f71 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/03 08:02 upstream 075b74841bd0 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/02 21:59 upstream bd1dde877520 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/02 12:33 upstream 2d2338c93da7 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/01 18:29 upstream 02dc699f83d0 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/08/01 07:31 upstream 0131b508c0e2 e611ffe1 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/31 21:56 upstream 8ba098e6b6ff 7664cf44 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/31 12:06 upstream 8ba098e6b6ff aaffb173 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/30 23:00 upstream 3708dd948844 aaffb173 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/30 12:59 upstream 11028ab62899 2377cd3d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/30 02:08 upstream fc46aed51f62 6ef5c1e2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/29 10:16 upstream fc02acf6ac0c 19622d9d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/28 22:49 upstream 3b5f4b83c4ab edc8a875 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/28 03:55 upstream 62cc90241548 45ae1df4 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/27 05:03 upstream 4235cb24ec1e 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/26 07:22 upstream 3dab139d4795 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/26 05:38 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/25 20:00 upstream 0ce37745d4bf 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/25 08:21 upstream e2a936998ab2 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/25 01:48 upstream 48a5a7ab8d6a 492bab15 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/24 19:39 upstream 48a5a7ab8d6a dd737a83 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/24 12:06 upstream d326f83e819c 544adce9 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/24 00:07 upstream d326f83e819c 71a13572 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/23 15:53 upstream 4539944e5151 71a13572 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/23 01:06 upstream 4539944e5151 881ce5c2 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/07/22 16:11 upstream 248951ddc14d 4a865b71 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/05/26 13:07 upstream e8c2f9fdadee a3e47276 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/03/10 12:54 upstream 1f318b96cc84 6972f302 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/02/24 11:13 upstream 7dff99b35460 96b1aa46 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2026/01/15 11:52 upstream 944aacb68baf d6526ea3 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2021/12/14 16:36 upstream 5472f14a3742 d018dd31 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
2021/11/02 13:42 upstream bfc484fe6abb 098b5d53 .config console log report info ci2-upstream-kcsan-gce KCSAN: data-race in __lru_add_drain_all / folio_add_lru
* Struck through repros no longer work on HEAD.