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: 1740d, last: 1d08h
✨ 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:
==================================================================
BUG: KCSAN: data-race in __lru_add_drain_all / folio_add_lru

read-write to 0xffff888237c26528 of 1 bytes by task 5616 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+0xa4/0x250 mm/swap.c:562
 filemap_add_folio+0x267/0x350 mm/filemap.c:988
 page_cache_ra_unbounded+0x1a4/0x3a0 mm/readahead.c:293
 do_page_cache_ra mm/readahead.c:348 [inline]
 page_cache_ra_order+0x149/0x210 mm/readahead.c:558
 page_cache_async_ra+0x36f/0x490 mm/readahead.c:720
 do_async_mmap_readahead mm/filemap.c:3475 [inline]
 filemap_fault+0x30b/0xb60 mm/filemap.c:3574
 __do_fault mm/memory.c:5425 [inline]
 do_read_fault mm/memory.c:5860 [inline]
 do_fault mm/memory.c:5994 [inline]
 do_pte_missing mm/memory.c:4566 [inline]
 handle_pte_fault mm/memory.c:6379 [inline]
 __handle_mm_fault mm/memory.c:6517 [inline]
 handle_mm_fault+0x167a/0x2da0 mm/memory.c:6686
 faultin_page mm/gup.c:1126 [inline]
 __get_user_pages+0x129c/0x1f10 mm/gup.c:1428
 __get_user_pages_locked mm/gup.c:1692 [inline]
 get_dump_page+0xb4/0x240 mm/gup.c:2192
 dump_user_range+0x142/0xd00 fs/coredump.c:1366
 elf_core_dump+0x21c0/0x2340 fs/binfmt_elf.c:2109
 coredump_write+0xaf9/0xdd0 fs/coredump.c:1052
 do_coredump fs/coredump.c:1131 [inline]
 vfs_coredump+0x2770/0x3290 fs/coredump.c:1200
 get_signal+0xd33/0xf10 kernel/signal.c:3031
 arch_do_signal_or_restart+0x96/0x480 arch/x86/kernel/signal.c:337
 __exit_to_user_mode_loop kernel/entry/common.c:66 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:101 [inline]
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:207 [inline]
 irqentry_exit_to_user_mode_prepare include/linux/irq-entry-common.h:244 [inline]
 irqentry_exit_to_user_mode include/linux/irq-entry-common.h:315 [inline]
 irqentry_exit+0x14d/0x610 kernel/entry/common.c:165
 asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:595

read to 0xffff888237c26528 of 1 bytes by task 3952 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+0x17e/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:647
 kill_block_super+0x2a/0x70 fs/super.c:1671
 ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7499
 deactivate_locked_super+0x75/0x1c0 fs/super.c:477
 deactivate_super+0x97/0xa0 fs/super.c:510
 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:318 [inline]
 do_syscall_64+0x23c/0x3c0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0e -> 0x18

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 3952 Comm: syz-executor Tainted: G        W           syzkaller #0 PREEMPT(lazy) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 07/24/2026
==================================================================

Crashes (2023):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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/07/22 05:04 upstream 248951ddc14d b561ce9c .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/21 21:01 upstream 248951ddc14d 7c5de9c3 .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/21 11:08 upstream b95f03f04d47 7c5de9c3 .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/21 04:22 upstream b95f03f04d47 de6a700d .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/20 15:40 upstream 1590cf032971 de6a700d .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/20 02:32 upstream 82a47586c0b9 72524a66 .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/19 09:38 upstream c6859eed755d 72524a66 .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/18 20:31 upstream 1229e2e57a5c 72524a66 .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/18 08:26 upstream 94515f3a7d42 72524a66 .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/17 19:35 upstream 111e7b23e5b0 8aaff637 .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.