syzbot


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

Status: moderation: reported on 2024/06/11 21:35
Subsystems: mm
[Documentation on labels]
Reported-by: syzbot+25fcec4db5ad6d0e4e4c@syzkaller.appspotmail.com
First crash: 31d, last: 20d
Similar bugs (1)
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 mm 4 202d 214d 0/27 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 0xffff88810f4b2ae8 of 8 bytes by task 23881 on cpu 1:
 update_hiwater_rss include/linux/mm.h:2695 [inline]
 try_to_unmap_one+0x80e/0x1650 mm/rmap.c:1779
 rmap_walk_anon+0x28f/0x440 mm/rmap.c:2605
 try_to_unmap+0xe9/0x110
 shrink_folio_list+0xf83/0x2560 mm/vmscan.c:1278
 shrink_inactive_list mm/vmscan.c:1944 [inline]
 shrink_list mm/vmscan.c:2179 [inline]
 shrink_lruvec+0xbd9/0x15f0 mm/vmscan.c:5703
 shrink_node_memcgs mm/vmscan.c:5889 [inline]
 shrink_node+0x9d1/0x13c0 mm/vmscan.c:5924
 shrink_zones mm/vmscan.c:6168 [inline]
 do_try_to_free_pages+0x3c6/0xc50 mm/vmscan.c:6230
 try_to_free_mem_cgroup_pages+0x1eb/0x4e0 mm/vmscan.c:6545
 try_charge_memcg+0x27a/0xcd0 mm/memcontrol.c:2944
 obj_cgroup_charge_pages+0xbd/0x1d0 mm/memcontrol.c:3416
 __memcg_kmem_charge_page+0x9d/0x170 mm/memcontrol.c:3442
 __alloc_pages_noprof+0x1bc/0x360 mm/page_alloc.c:4695
 alloc_pages_mpol_noprof+0xb1/0x1e0 mm/mempolicy.c:2265
 alloc_pages_noprof+0xe1/0x100 mm/mempolicy.c:2336
 vm_area_alloc_pages mm/vmalloc.c:3566 [inline]
 __vmalloc_area_node mm/vmalloc.c:3642 [inline]
 __vmalloc_node_range_noprof+0x719/0xef0 mm/vmalloc.c:3823
 kvmalloc_node_noprof+0x121/0x170 mm/util.c:659
 ip_set_alloc+0x1f/0x30 net/netfilter/ipset/ip_set_core.c:256
 hash_netiface_create+0x273/0x730 net/netfilter/ipset/ip_set_hash_gen.h:1568
 ip_set_create+0x359/0x8a0 net/netfilter/ipset/ip_set_core.c:1104
 nfnetlink_rcv_msg+0x4a9/0x570 net/netfilter/nfnetlink.c:302
 netlink_rcv_skb+0x12c/0x230 net/netlink/af_netlink.c:2564
 nfnetlink_rcv+0x16c/0x15b0 net/netfilter/nfnetlink.c:664
 netlink_unicast_kernel net/netlink/af_netlink.c:1335 [inline]
 netlink_unicast+0x58d/0x660 net/netlink/af_netlink.c:1361
 netlink_sendmsg+0x5ca/0x6e0 net/netlink/af_netlink.c:1905
 sock_sendmsg_nosec net/socket.c:730 [inline]
 __sock_sendmsg+0x140/0x180 net/socket.c:745
 ____sys_sendmsg+0x312/0x410 net/socket.c:2585
 ___sys_sendmsg net/socket.c:2639 [inline]
 __sys_sendmsg+0x1e9/0x280 net/socket.c:2668
 __do_sys_sendmsg net/socket.c:2677 [inline]
 __se_sys_sendmsg net/socket.c:2675 [inline]
 __x64_sys_sendmsg+0x46/0x50 net/socket.c:2675
 x64_sys_call+0xb25/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:47
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

write to 0xffff88810f4b2ae8 of 8 bytes by task 23884 on cpu 0:
 update_hiwater_rss include/linux/mm.h:2696 [inline]
 try_to_unmap_one+0x82f/0x1650 mm/rmap.c:1779
 rmap_walk_anon+0x28f/0x440 mm/rmap.c:2605
 try_to_unmap+0xe9/0x110
 shrink_folio_list+0xf83/0x2560 mm/vmscan.c:1278
 shrink_inactive_list mm/vmscan.c:1944 [inline]
 shrink_list mm/vmscan.c:2179 [inline]
 shrink_lruvec+0xbd9/0x15f0 mm/vmscan.c:5703
 shrink_node_memcgs mm/vmscan.c:5889 [inline]
 shrink_node+0x9d1/0x13c0 mm/vmscan.c:5924
 shrink_zones mm/vmscan.c:6168 [inline]
 do_try_to_free_pages+0x3c6/0xc50 mm/vmscan.c:6230
 try_to_free_mem_cgroup_pages+0x1eb/0x4e0 mm/vmscan.c:6545
 try_charge_memcg+0x27a/0xcd0 mm/memcontrol.c:2944
 try_charge mm/memcontrol.c:3092 [inline]
 charge_memcg mm/memcontrol.c:7495 [inline]
 __mem_cgroup_charge+0x63/0x100 mm/memcontrol.c:7510
 mem_cgroup_charge include/linux/memcontrol.h:691 [inline]
 folio_prealloc mm/memory.c:1056 [inline]
 alloc_anon_folio mm/memory.c:4397 [inline]
 do_anonymous_page mm/memory.c:4455 [inline]
 do_pte_missing mm/memory.c:3895 [inline]
 handle_pte_fault mm/memory.c:5380 [inline]
 __handle_mm_fault mm/memory.c:5523 [inline]
 handle_mm_fault+0xd4d/0x2a80 mm/memory.c:5688
 faultin_page mm/gup.c:1290 [inline]
 __get_user_pages+0x49d/0xf10 mm/gup.c:1589
 populate_vma_page_range mm/gup.c:2029 [inline]
 __mm_populate+0x25b/0x3b0 mm/gup.c:2132
 mm_populate include/linux/mm.h:3464 [inline]
 vm_mmap_pgoff+0x1d6/0x290 mm/util.c:578
 ksys_mmap_pgoff+0xd0/0x340 mm/mmap.c:1443
 x64_sys_call+0x1835/0x2d70 arch/x86/include/generated/asm/syscalls_64.h:10
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xc9/0x1c0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0x000000000000092b -> 0x00000000000011cb

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 PID: 23884 Comm: syz-executor.1 Tainted: G        W          6.10.0-rc4-syzkaller-00283-g563a50672d8a #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/06/23 09:02 upstream 563a50672d8a edc5149a .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
2024/06/11 21:35 upstream 83a7eefedc9b 4d75f4f7 .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.