syzbot


KCSAN: data-race in try_to_migrate_one / zap_page_range_single_batched

Status: upstream: reported on 2025/09/26 06:44
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+60192c8877d0bc92a92b@syzkaller.appspotmail.com
First crash: 2d00h, last: 2d00h
Discussions (2)
Title Replies (including bot) Last reply
[PATCH 1/1] mm: silence data-race in update_hiwater_rss 2 (2) 2025/09/26 09:46
[syzbot] [mm?] KCSAN: data-race in try_to_migrate_one / zap_page_range_single_batched 2 (3) 2025/09/26 09:35

Sample crash report:
==================================================================
BUG: KCSAN: data-race in try_to_migrate_one / zap_page_range_single_batched

write to 0xffff88810adfd798 of 8 bytes by task 13594 on cpu 1:
 update_hiwater_rss include/linux/mm.h:2657 [inline]
 try_to_migrate_one+0x918/0x16e0 mm/rmap.c:2455
 __rmap_walk_file+0x1ec/0x2b0 mm/rmap.c:2905
 try_to_migrate+0x1db/0x210 mm/rmap.c:-1
 migrate_folio_unmap mm/migrate.c:1324 [inline]
 migrate_pages_batch+0x6e1/0x1ae0 mm/migrate.c:1873
 migrate_pages_sync mm/migrate.c:1996 [inline]
 migrate_pages+0xf5f/0x1770 mm/migrate.c:2105
 do_mbind mm/mempolicy.c:1539 [inline]
 kernel_mbind mm/mempolicy.c:1682 [inline]
 __do_sys_mbind mm/mempolicy.c:1756 [inline]
 __se_sys_mbind+0x975/0xac0 mm/mempolicy.c:1752
 __x64_sys_mbind+0x78/0x90 mm/mempolicy.c:1752
 x64_sys_call+0x2932/0x2ff0 arch/x86/include/generated/asm/syscalls_64.h:238
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

write to 0xffff88810adfd798 of 8 bytes by task 13595 on cpu 0:
 update_hiwater_rss include/linux/mm.h:2657 [inline]
 zap_page_range_single_batched+0x182/0x450 mm/memory.c:2007
 zap_page_range_single mm/memory.c:2041 [inline]
 unmap_mapping_range_vma mm/memory.c:4020 [inline]
 unmap_mapping_range_tree+0xfd/0x160 mm/memory.c:4037
 unmap_mapping_pages mm/memory.c:4103 [inline]
 unmap_mapping_range+0xe4/0xf0 mm/memory.c:4140
 shmem_fallocate+0x262/0x840 mm/shmem.c:3746
 vfs_fallocate+0x3b6/0x400 fs/open.c:342
 madvise_remove mm/madvise.c:1049 [inline]
 madvise_vma_behavior+0x192d/0x1cf0 mm/madvise.c:1346
 madvise_walk_vmas mm/madvise.c:1669 [inline]
 madvise_do_behavior+0x5b7/0x970 mm/madvise.c:1885
 do_madvise+0x10e/0x190 mm/madvise.c:1978
 __do_sys_madvise mm/madvise.c:1987 [inline]
 __se_sys_madvise mm/madvise.c:1985 [inline]
 __x64_sys_madvise+0x64/0x80 mm/madvise.c:1985
 x64_sys_call+0x1f1a/0x2ff0 arch/x86/include/generated/asm/syscalls_64.h:29
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd2/0x200 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x0000000000001645 -> 0x0000000000002165

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 13595 Comm: syz.1.3492 Tainted: G        W           syzkaller #0 PREEMPT(voluntary) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/09/24 17:13 upstream cec1e6e5d1ab 0abd0691 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in try_to_migrate_one / zap_page_range_single_batched
* Struck through repros no longer work on HEAD.