syzbot


KCSAN: data-race in mlock_folio / need_mlock_drain (10)

Status: moderation: reported on 2026/04/30 11:42
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+2f4ec809c0aa94d7d565@syzkaller.appspotmail.com
First crash: 2d05h, last: 2d05h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
6bc7a208-6133-4e12-b047-83e42024b0c7 assessment-kcsan Benign: ✅  Confident: ✅  KCSAN: data-race in mlock_folio / need_mlock_drain (10) 2026/04/30 11:42 2026/04/30 11:42 2026/04/30 12:03 005438fcbda13a7d244e9d155c2150fc79e9f734
Similar bugs (9)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (5) mm 6 1 695d 695d 0/29 auto-obsoleted due to no activity on 2024/07/11 10:01
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (9) mm 6 5 72d 172d 0/29 auto-obsoleted due to no activity on 2026/04/16 07:40
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (7) mm 6 3 320d 363d 0/29 auto-obsoleted due to no activity on 2025/08/10 18:09
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (2) mm 6 1 988d 988d 0/29 auto-obsoleted due to no activity on 2023/09/21 20:14
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (6) mm 6 13 478d 656d 0/29 auto-obsoleted due to no activity on 2025/03/06 02:54
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (3) mm 6 1 858d 858d 0/29 auto-obsoleted due to no activity on 2024/01/30 08:30
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (8) mm 6 1 249d 249d 0/29 auto-obsoleted due to no activity on 2025/10/20 23:51
upstream KCSAN: data-race in mlock_folio / need_mlock_drain (4) mm 6 1 739d 739d 0/29 auto-obsoleted due to no activity on 2024/05/28 09:55
upstream KCSAN: data-race in mlock_folio / need_mlock_drain mm 6 2 1026d 1026d 0/29 auto-obsoleted due to no activity on 2023/08/15 13:37

Sample crash report:
EXT4-fs (loop7): unmounting filesystem 00000000-0000-0000-0000-000000000000.
==================================================================
BUG: KCSAN: data-race in mlock_folio / need_mlock_drain

read-write to 0xffff888237d27248 of 1 bytes by task 7763 on cpu 1:
 folio_batch_add include/linux/folio_batch.h:77 [inline]
 mlock_folio+0x14d/0x240 mm/mlock.c:257
 mlock_pte_range+0x28d/0x590 mm/mlock.c:397
 walk_pmd_range mm/pagewalk.c:148 [inline]
 walk_pud_range mm/pagewalk.c:239 [inline]
 walk_p4d_range mm/pagewalk.c:280 [inline]
 walk_pgd_range+0xa76/0x1520 mm/pagewalk.c:321
 __walk_page_range+0xdd/0x340 mm/pagewalk.c:429
 walk_page_range_mm_unsafe+0x3e4/0x530 mm/pagewalk.c:525
 walk_page_range+0x56/0x70 mm/pagewalk.c:604
 mlock_vma_pages_range mm/mlock.c:449 [inline]
 mlock_fixup+0x387/0x420 mm/mlock.c:513
 apply_mlockall_flags+0x202/0x280 mm/mlock.c:740
 __do_sys_mlockall mm/mlock.c:772 [inline]
 __se_sys_mlockall+0x241/0x3c0 mm/mlock.c:751
 __x64_sys_mlockall+0x1f/0x30 mm/mlock.c:751
 x64_sys_call+0xf90/0x3020 arch/x86/include/generated/asm/syscalls_64.h:152
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x3b0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888237d27248 of 1 bytes by task 6189 on cpu 0:
 folio_batch_count include/linux/folio_batch.h:56 [inline]
 need_mlock_drain+0x30/0x50 mm/mlock.c:235
 cpu_needs_drain mm/swap.c:792 [inline]
 __lru_add_drain_all+0x273/0x450 mm/swap.c:883
 lru_add_drain_all+0x10/0x20 mm/swap.c:899
 invalidate_bdev+0x47/0x70 block/bdev.c:101
 ext4_put_super+0x610/0x7b0 fs/ext4/super.c:1355
 generic_shutdown_super+0xee/0x220 fs/super.c:646
 kill_block_super+0x2a/0x70 fs/super.c:1725
 ext4_kill_sb+0x42/0x80 fs/ext4/super.c:7492
 deactivate_locked_super+0x75/0x1c0 fs/super.c:476
 deactivate_super+0x97/0xa0 fs/super.c:509
 cleanup_mnt+0x2bb/0x330 fs/namespace.c:1312
 __cleanup_mnt+0x19/0x20 fs/namespace.c:1319
 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:67 [inline]
 exit_to_user_mode_loop+0x1f4/0x6f0 kernel/entry/common.c:98
 __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:238 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:318 [inline]
 do_syscall_64+0x232/0x3b0 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0a -> 0x1f

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 6189 Comm: syz-executor Not tainted syzkaller #0 PREEMPT(full) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/18/2026
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/04/30 11:42 upstream e75a43c7cec4 a7464baf .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in mlock_folio / need_mlock_drain
* Struck through repros no longer work on HEAD.