[moderation] [mm?] KCSAN: data-race in do_try_to_free_pages / shrink_node (6)

0 views
Skip to first unread message

syzbot

unread,
Jun 30, 2024, 1:46:20 PM (2 days ago) Jun 30
to syzkaller-upst...@googlegroups.com
Hello,

syzbot found the following issue on:

HEAD commit: 8282d5af7be8 Merge tag 'nfs-for-6.10-3' of git://git.linux..
git tree: upstream
console output: https://syzkaller.appspot.com/x/log.txt?x=15481112980000
kernel config: https://syzkaller.appspot.com/x/.config?x=7e87b541dc1fc960
dashboard link: https://syzkaller.appspot.com/bug?extid=24349a13216392fc19f2
compiler: Debian clang version 15.0.6, GNU ld (GNU Binutils for Debian) 2.40
CC: [ak...@linux-foundation.org linux-...@vger.kernel.org linu...@kvack.org]

Unfortunately, I don't have any reproducer for this issue yet.

Downloadable assets:
disk image: https://storage.googleapis.com/syzbot-assets/90c1e907274a/disk-8282d5af.raw.xz
vmlinux: https://storage.googleapis.com/syzbot-assets/4208061307e4/vmlinux-8282d5af.xz
kernel image: https://storage.googleapis.com/syzbot-assets/6430245c6fa6/bzImage-8282d5af.xz

IMPORTANT: if you fix the issue, please add the following tag to the commit:
Reported-by: syzbot+24349a...@syzkaller.appspotmail.com

==================================================================
BUG: KCSAN: data-race in do_try_to_free_pages / shrink_node

write to 0xffff8881112f3e70 of 8 bytes by task 3081 on cpu 0:
snapshot_refaults mm/vmscan.c:6191 [inline]
do_try_to_free_pages+0x93c/0xc50 mm/vmscan.c:6253
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]
filemap_add_folio+0x53/0x1b0 mm/filemap.c:965
page_cache_ra_unbounded+0x148/0x2e0 mm/readahead.c:252
do_page_cache_ra mm/readahead.c:303 [inline]
page_cache_ra_order+0xf7/0x110 mm/readahead.c:547
do_sync_mmap_readahead+0x267/0x2a0 mm/filemap.c:3175
filemap_fault+0x331/0xa60 mm/filemap.c:3313
__do_fault+0xb6/0x200 mm/memory.c:4556
do_read_fault mm/memory.c:4921 [inline]
do_fault mm/memory.c:5051 [inline]
do_pte_missing mm/memory.c:3897 [inline]
handle_pte_fault mm/memory.c:5381 [inline]
__handle_mm_fault mm/memory.c:5524 [inline]
handle_mm_fault+0xdeb/0x2a80 mm/memory.c:5689
do_user_addr_fault arch/x86/mm/fault.c:1338 [inline]
handle_page_fault arch/x86/mm/fault.c:1481 [inline]
exc_page_fault+0x3b9/0x650 arch/x86/mm/fault.c:1539
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

read to 0xffff8881112f3e70 of 8 bytes by task 5215 on cpu 1:
prepare_scan_control mm/vmscan.c:2274 [inline]
shrink_node+0x383/0x13c0 mm/vmscan.c:5922
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_swapin_charge_folio+0x107/0x1a0 mm/memcontrol.c:7580
__read_swap_cache_async+0x2b9/0x520 mm/swap_state.c:514
swap_cluster_readahead+0x276/0x3f0 mm/swap_state.c:678
swapin_readahead+0xe2/0x7a0 mm/swap_state.c:904
do_swap_page+0x3bc/0x1840 mm/memory.c:4065
handle_pte_fault mm/memory.c:5384 [inline]
__handle_mm_fault mm/memory.c:5524 [inline]
handle_mm_fault+0x809/0x2a80 mm/memory.c:5689
do_user_addr_fault arch/x86/mm/fault.c:1338 [inline]
handle_page_fault arch/x86/mm/fault.c:1481 [inline]
exc_page_fault+0x3b9/0x650 arch/x86/mm/fault.c:1539
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623

value changed: 0x0000000000000019 -> 0x000000000000001c

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 5215 Comm: syz.4.525 Not tainted 6.10.0-rc5-syzkaller-00282-g8282d5af7be8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
==================================================================
syz.4.525 invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=1000
CPU: 1 PID: 5215 Comm: syz.4.525 Not tainted 6.10.0-rc5-syzkaller-00282-g8282d5af7be8 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 06/07/2024
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:88 [inline]
dump_stack_lvl+0xf2/0x150 lib/dump_stack.c:114
dump_stack+0x15/0x20 lib/dump_stack.c:123
dump_header+0x83/0x2d0 mm/oom_kill.c:462
oom_kill_process+0x33e/0x4c0 mm/oom_kill.c:1035
out_of_memory+0x9af/0xbe0 mm/oom_kill.c:1173
mem_cgroup_out_of_memory+0x13e/0x190 mm/memcontrol.c:1975
mem_cgroup_oom mm/memcontrol.c:2203 [inline]
try_charge_memcg+0x745/0xcd0 mm/memcontrol.c:2992
try_charge mm/memcontrol.c:3092 [inline]
charge_memcg mm/memcontrol.c:7495 [inline]
mem_cgroup_swapin_charge_folio+0x107/0x1a0 mm/memcontrol.c:7580
__read_swap_cache_async+0x2b9/0x520 mm/swap_state.c:514
swap_cluster_readahead+0x380/0x3f0 mm/swap_state.c:697
swapin_readahead+0xe2/0x7a0 mm/swap_state.c:904
do_swap_page+0x3bc/0x1840 mm/memory.c:4065
handle_pte_fault mm/memory.c:5384 [inline]
__handle_mm_fault mm/memory.c:5524 [inline]
handle_mm_fault+0x809/0x2a80 mm/memory.c:5689
do_user_addr_fault arch/x86/mm/fault.c:1338 [inline]
handle_page_fault arch/x86/mm/fault.c:1481 [inline]
exc_page_fault+0x3b9/0x650 arch/x86/mm/fault.c:1539
asm_exc_page_fault+0x26/0x30 arch/x86/include/asm/idtentry.h:623
RIP: 0033:0x7f89e410835b
Code: ff 48 8b 00 89 83 9c 00 00 00 31 f6 e8 8e ec ff ff 48 81 c3 d8 00 00 00 48 39 dd 0f 84 54 fd ff ff 80 7b 20 00 48 89 df 74 e7 <e8> 80 c4 ff ff 84 c0 74 d7 80 3d 45 3e 28 00 00 48 8b 83 a8 00 00
RSP: 002b:00007ffc0fe8f6d0 EFLAGS: 00010202
RAX: 0000000000010426 RBX: 00007f89e43c1fa0 RCX: 00000000000101d0
RDX: 0000000000000256 RSI: 00007ffc0fe8f6b0 RDI: 00007f89e43c1fa0
RBP: 00007f89e43c3aa0 R08: 0000000023b2aa3e R09: 7fffffffffffffff
R10: 00007f89e43980b8 R11: 00007f89e4398080 R12: 000000000001039c
R13: 0000000000000032 R14: 00007f89e43c3aa0 R15: 00007f89e43c2078
</TASK>
memory: usage 307200kB, limit 307200kB, failcnt 693
memory+swap: usage 307400kB, limit 9007199254740988kB, failcnt 0
kmem: usage 307192kB, limit 9007199254740988kB, failcnt 0
Memory cgroup stats for /syz4:
cache 8192
rss 0
shmem 0
mapped_file 413696
dirty 0
writeback 0
workingset_refault_anon 167
workingset_refault_file 404
swap 208896
swapcached 0
pgpgin 56229
pgpgout 56227
pgfault 65254
pgmajfault 93
inactive_anon 0
active_anon 0
inactive_file 8192
active_file 0
unevictable 0
hierarchical_memory_limit 314572800
hierarchical_memsw_limit 9223372036854771712
total_cache 8192
total_rss 0
total_shmem 0
total_mapped_file 413696
total_dirty 0
total_writeback 0
total_workingset_refault_anon 167
total_workingset_refault_file 404
total_swap 208896
total_swapcached 0
total_pgpgin 56229
total_pgpgout 56227
total_pgfault 65254
total_pgmajfault 93
total_inactive_anon 0
total_active_anon 0
total_inactive_file 8192
total_active_file 0
total_unevictable 0
oom-kill:constraint=CONSTRAINT_MEMCG,nodemask=(null),cpuset=syz4,mems_allowed=0,oom_memcg=/syz4,task_memcg=/syz4,task=syz.4.525,pid=5215,uid=0
Memory cgroup out of memory: Killed process 5215 (syz.4.525) total-vm:81156kB, anon-rss:580kB, file-rss:10308kB, shmem-rss:0kB, UID:0 pgtables:92kB oom_score_adj:1000


---
This report is generated by a bot. It may contain errors.
See https://goo.gl/tpsmEJ for more information about syzbot.
syzbot engineers can be reached at syzk...@googlegroups.com.

syzbot will keep track of this issue. See:
https://goo.gl/tpsmEJ#status for how to communicate with syzbot.

If the report is already addressed, let syzbot know by replying with:
#syz fix: exact-commit-title

If you want to overwrite report's subsystems, reply with:
#syz set subsystems: new-subsystem
(See the list of subsystem names on the web dashboard)

If the report is a duplicate of another one, reply with:
#syz dup: exact-subject-of-another-report

If you want to undo deduplication, reply with:
#syz undup
Reply all
Reply to author
Forward
0 new messages