syzbot


KCSAN: data-race in copy_mm / try_to_unmap_one

Status: moderation: reported on 2025/05/11 00:02
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+0a255278a17e4f418264@syzkaller.appspotmail.com
First crash: 1d01h, last: 1d01h

Sample crash report:
==================================================================
BUG: KCSAN: data-race in copy_mm / try_to_unmap_one

write to 0xffff88810aaface8 of 8 bytes by task 31798 on cpu 0:
 __list_add include/linux/list.h:153 [inline]
 list_add include/linux/list.h:169 [inline]
 try_to_unmap_one+0x134f/0x2140 mm/rmap.c:2170
 rmap_walk_anon+0x27d/0x430 mm/rmap.c:2834
 rmap_walk mm/rmap.c:2939 [inline]
 try_to_unmap+0x13d/0x1e0 mm/rmap.c:2263
 shrink_folio_list+0x121a/0x2670 mm/vmscan.c:1373
 reclaim_folio_list+0x80/0x2b0 mm/vmscan.c:2217
 reclaim_pages+0x215/0x270 mm/vmscan.c:2254
 madvise_cold_or_pageout_pte_range+0xd61/0xdd0 mm/madvise.c:558
 walk_pmd_range mm/pagewalk.c:130 [inline]
 walk_pud_range mm/pagewalk.c:226 [inline]
 walk_p4d_range mm/pagewalk.c:264 [inline]
 walk_pgd_range+0x86b/0x11b0 mm/pagewalk.c:305
 __walk_page_range+0xdd/0x340 mm/pagewalk.c:412
 walk_page_range_mm+0x352/0x4a0 mm/pagewalk.c:505
 walk_page_range+0x56/0x70 mm/pagewalk.c:584
 madvise_pageout_page_range mm/madvise.c:617 [inline]
 madvise_pageout mm/madvise.c:644 [inline]
 madvise_vma_behavior mm/madvise.c:1269 [inline]
 madvise_walk_vmas mm/madvise.c:1530 [inline]
 madvise_do_behavior+0x1bea/0x24a0 mm/madvise.c:1695
 do_madvise mm/madvise.c:1782 [inline]
 __do_sys_madvise mm/madvise.c:1790 [inline]
 __se_sys_madvise mm/madvise.c:1788 [inline]
 __x64_sys_madvise+0xc9/0x100 mm/madvise.c:1788
 x64_sys_call+0x2455/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:29
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff88810aafac00 of 1344 bytes by task 28578 on cpu 1:
 dup_mm kernel/fork.c:1728 [inline]
 copy_mm+0xfb/0x1310 kernel/fork.c:1786
 copy_process+0xcf1/0x1f90 kernel/fork.c:2429
 kernel_clone+0x16c/0x5b0 kernel/fork.c:2844
 __do_sys_clone kernel/fork.c:2987 [inline]
 __se_sys_clone kernel/fork.c:2971 [inline]
 __x64_sys_clone+0xe6/0x120 kernel/fork.c:2971
 x64_sys_call+0x2c59/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:57
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xd0/0x1a0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 UID: 0 PID: 28578 Comm: syz-executor Not tainted 6.15.0-rc5-syzkaller-00275-gbec6f00f120e #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2025/05/11 00:01 upstream bec6f00f120e 77908e5f .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in copy_mm / try_to_unmap_one
* Struck through repros no longer work on HEAD.