syzbot


KCSAN: data-race in try_to_unmap_one / try_to_unmap_one (3)

Status: moderation: reported on 2025/05/11 11:27
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+5894b4ec1862c09c250a@syzkaller.appspotmail.com
First crash: 53d, last: 14d
Similar bugs (2)
Kernel Title Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in try_to_unmap_one / try_to_unmap_one (2) mm 2 375d 387d 0/29 auto-obsoleted due to no activity on 2024/07/28 09:03
upstream KCSAN: data-race in try_to_unmap_one / try_to_unmap_one mm 4 557d 570d 0/29 auto-obsoleted due to no activity on 2024/01/28 06:55

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

write to 0xffff888104324630 of 8 bytes by task 28246 on cpu 1:
 update_hiwater_rss include/linux/mm.h:2631 [inline]
 try_to_unmap_one+0xf63/0x21d0 mm/rmap.c:2061
 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+0x11b9/0x2560 mm/vmscan.c:1389
 evict_folios+0x2890/0x33d0 mm/vmscan.c:4731
 try_to_shrink_lruvec+0x45a/0x7e0 mm/vmscan.c:4892
 lru_gen_shrink_lruvec mm/vmscan.c:5041 [inline]
 shrink_lruvec+0x22e/0x1b40 mm/vmscan.c:5797
 shrink_node_memcgs mm/vmscan.c:6033 [inline]
 shrink_node+0x686/0x2120 mm/vmscan.c:6074
 shrink_zones mm/vmscan.c:6318 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6380
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6708
 try_charge_memcg+0x358/0x9e0 mm/memcontrol.c:2362
 obj_cgroup_charge_pages+0xa6/0x150 mm/memcontrol.c:2803
 __memcg_kmem_charge_page+0x9f/0x170 mm/memcontrol.c:2847
 __alloc_frozen_pages_noprof+0x188/0x360 mm/page_alloc.c:4976
 alloc_pages_mpol+0xb3/0x250 mm/mempolicy.c:2419
 alloc_frozen_pages_noprof mm/mempolicy.c:2490 [inline]
 alloc_pages_noprof+0x90/0x130 mm/mempolicy.c:2510
 vm_area_alloc_pages mm/vmalloc.c:3634 [inline]
 __vmalloc_area_node mm/vmalloc.c:3712 [inline]
 __vmalloc_node_range_noprof+0x6f2/0xe00 mm/vmalloc.c:3885
 __bpf_map_area_alloc kernel/bpf/syscall.c:397 [inline]
 bpf_map_area_alloc+0xfa/0x150 kernel/bpf/syscall.c:404
 htab_map_alloc+0x2a8/0x6d0 kernel/bpf/hashtab.c:524
 map_create+0x843/0xb90 kernel/bpf/syscall.c:1477
 __sys_bpf+0x5ab/0x790 kernel/bpf/syscall.c:5818
 __do_sys_bpf kernel/bpf/syscall.c:5943 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5941 [inline]
 __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:5941
 x64_sys_call+0x2478/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:322
 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 0xffff888104324630 of 8 bytes by task 28251 on cpu 0:
 update_hiwater_rss include/linux/mm.h:2631 [inline]
 try_to_unmap_one+0xf63/0x21d0 mm/rmap.c:2061
 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+0x11b9/0x2560 mm/vmscan.c:1389
 evict_folios+0x2890/0x33d0 mm/vmscan.c:4731
 try_to_shrink_lruvec+0x45a/0x7e0 mm/vmscan.c:4892
 lru_gen_shrink_lruvec mm/vmscan.c:5041 [inline]
 shrink_lruvec+0x22e/0x1b40 mm/vmscan.c:5797
 shrink_node_memcgs mm/vmscan.c:6033 [inline]
 shrink_node+0x686/0x2120 mm/vmscan.c:6074
 shrink_zones mm/vmscan.c:6318 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6380
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6708
 try_charge_memcg+0x358/0x9e0 mm/memcontrol.c:2362
 obj_cgroup_charge_pages+0xa6/0x150 mm/memcontrol.c:2803
 __memcg_kmem_charge_page+0x9f/0x170 mm/memcontrol.c:2847
 __alloc_frozen_pages_noprof+0x188/0x360 mm/page_alloc.c:4976
 alloc_pages_mpol+0xb3/0x250 mm/mempolicy.c:2419
 alloc_frozen_pages_noprof mm/mempolicy.c:2490 [inline]
 alloc_pages_noprof+0x90/0x130 mm/mempolicy.c:2510
 vm_area_alloc_pages mm/vmalloc.c:3634 [inline]
 __vmalloc_area_node mm/vmalloc.c:3712 [inline]
 __vmalloc_node_range_noprof+0x6f2/0xe00 mm/vmalloc.c:3885
 __bpf_map_area_alloc kernel/bpf/syscall.c:397 [inline]
 bpf_map_area_alloc+0xfa/0x150 kernel/bpf/syscall.c:404
 dev_map_init_map kernel/bpf/devmap.c:152 [inline]
 dev_map_alloc+0x139/0x330 kernel/bpf/devmap.c:171
 map_create+0x843/0xb90 kernel/bpf/syscall.c:1477
 __sys_bpf+0x5ab/0x790 kernel/bpf/syscall.c:5818
 __do_sys_bpf kernel/bpf/syscall.c:5943 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5941 [inline]
 __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:5941
 x64_sys_call+0x2478/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:322
 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: 0x00000000000014e9 -> 0x00000000000016b3

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 28251 Comm: syz.0.8277 Not tainted 6.16.0-rc2-syzkaller-00082-gfb4d33ab452e #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025
==================================================================

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