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: 5d20h, last: 5d20h
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 327d 339d 0/28 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 510d 522d 0/28 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

read to 0xffff88810a533800 of 8 bytes by task 9869 on cpu 1:
 update_hiwater_rss include/linux/mm.h:2770 [inline]
 try_to_unmap_one+0xea2/0x20e0 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+0x121a/0x2670 mm/vmscan.c:1373
 evict_folios+0x2888/0x33d0 mm/vmscan.c:4698
 try_to_shrink_lruvec+0x45a/0x7e0 mm/vmscan.c:4859
 lru_gen_shrink_lruvec mm/vmscan.c:5008 [inline]
 shrink_lruvec+0x22e/0x1a40 mm/vmscan.c:5753
 shrink_node_memcgs mm/vmscan.c:5989 [inline]
 shrink_node+0x686/0x2110 mm/vmscan.c:6030
 shrink_zones mm/vmscan.c:6274 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6336
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6664
 try_charge_memcg+0x3ab/0x870 mm/memcontrol.c:2304
 try_charge mm/memcontrol.c:2446 [inline]
 charge_memcg+0x51/0xc0 mm/memcontrol.c:4592
 __mem_cgroup_charge+0x28/0xb0 mm/memcontrol.c:4609
 mem_cgroup_charge include/linux/memcontrol.h:642 [inline]
 shmem_alloc_and_add_folio mm/shmem.c:1903 [inline]
 shmem_get_folio_gfp+0x470/0xd40 mm/shmem.c:2533
 shmem_fault+0xf6/0x250 mm/shmem.c:2734
 __do_fault+0xb9/0x200 mm/memory.c:5098
 do_read_fault mm/memory.c:5518 [inline]
 do_fault mm/memory.c:5652 [inline]
 do_pte_missing mm/memory.c:4160 [inline]
 handle_pte_fault mm/memory.c:5997 [inline]
 __handle_mm_fault mm/memory.c:6140 [inline]
 handle_mm_fault+0x110c/0x2ae0 mm/memory.c:6309
 faultin_page mm/gup.c:1193 [inline]
 __get_user_pages+0xde2/0x1d20 mm/gup.c:1491
 populate_vma_page_range mm/gup.c:1929 [inline]
 __mm_populate+0x243/0x3a0 mm/gup.c:2032
 mm_populate include/linux/mm.h:3487 [inline]
 vm_mmap_pgoff+0x232/0x2e0 mm/util.c:584
 ksys_mmap_pgoff+0xc2/0x310 mm/mmap.c:607
 x64_sys_call+0x1602/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:10
 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

write to 0xffff88810a533800 of 8 bytes by task 9863 on cpu 0:
 update_hiwater_rss include/linux/mm.h:2771 [inline]
 try_to_unmap_one+0xec2/0x20e0 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+0x121a/0x2670 mm/vmscan.c:1373
 evict_folios+0x2888/0x33d0 mm/vmscan.c:4698
 try_to_shrink_lruvec+0x45a/0x7e0 mm/vmscan.c:4859
 lru_gen_shrink_lruvec mm/vmscan.c:5008 [inline]
 shrink_lruvec+0x22e/0x1a40 mm/vmscan.c:5753
 shrink_node_memcgs mm/vmscan.c:5989 [inline]
 shrink_node+0x686/0x2110 mm/vmscan.c:6030
 shrink_zones mm/vmscan.c:6274 [inline]
 do_try_to_free_pages+0x3f6/0xcd0 mm/vmscan.c:6336
 try_to_free_mem_cgroup_pages+0x1ab/0x410 mm/vmscan.c:6664
 try_charge_memcg+0x3ab/0x870 mm/memcontrol.c:2304
 obj_cgroup_charge_pages+0xb7/0x1a0 mm/memcontrol.c:2695
 __memcg_kmem_charge_page+0x9f/0x170 mm/memcontrol.c:2739
 __alloc_frozen_pages_noprof+0x188/0x360 mm/page_alloc.c:4987
 alloc_pages_mpol+0xb3/0x250 mm/mempolicy.c:2301
 alloc_frozen_pages_noprof mm/mempolicy.c:2372 [inline]
 alloc_pages_noprof+0x90/0x130 mm/mempolicy.c:2392
 vm_area_alloc_pages mm/vmalloc.c:3592 [inline]
 __vmalloc_area_node mm/vmalloc.c:3670 [inline]
 __vmalloc_node_range_noprof+0x6a4/0xdf0 mm/vmalloc.c:3845
 __kvmalloc_node_noprof+0x2f3/0x4d0 mm/slub.c:5034
 ip_set_alloc+0x1f/0x30 net/netfilter/ipset/ip_set_core.c:261
 hash_netiface_create+0x282/0x740 net/netfilter/ipset/ip_set_hash_gen.h:1568
 ip_set_create+0x3c9/0x960 net/netfilter/ipset/ip_set_core.c:1109
 nfnetlink_rcv_msg+0x4c3/0x590 net/netfilter/nfnetlink.c:302
 netlink_rcv_skb+0x120/0x220 net/netlink/af_netlink.c:2534
 nfnetlink_rcv+0x16b/0x1690 net/netfilter/nfnetlink.c:667
 netlink_unicast_kernel net/netlink/af_netlink.c:1313 [inline]
 netlink_unicast+0x59e/0x670 net/netlink/af_netlink.c:1339
 netlink_sendmsg+0x58b/0x6b0 net/netlink/af_netlink.c:1883
 sock_sendmsg_nosec net/socket.c:712 [inline]
 __sock_sendmsg+0x142/0x180 net/socket.c:727
 ____sys_sendmsg+0x31e/0x4e0 net/socket.c:2566
 ___sys_sendmsg+0x17b/0x1d0 net/socket.c:2620
 __sys_sendmsg net/socket.c:2652 [inline]
 __do_sys_sendmsg net/socket.c:2657 [inline]
 __se_sys_sendmsg net/socket.c:2655 [inline]
 __x64_sys_sendmsg+0xd4/0x160 net/socket.c:2655
 x64_sys_call+0x2999/0x2fb0 arch/x86/include/generated/asm/syscalls_64.h:47
 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

value changed: 0x0000000000001cb4 -> 0x0000000000001e54

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 9863 Comm: syz.1.2163 Not tainted 6.15.0-rc5-syzkaller-00300-g3ce9925823c7 #0 PREEMPT(voluntary) 
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 04/19/2025
==================================================================
syz.1.2163 (9863) used greatest stack depth: 4848 bytes left

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
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.