syzbot


KCSAN: data-race in move_pages_to_lru / skb_append_pagefrags

Status: auto-closed as invalid on 2022/03/29 21:52
Reported-by: syzbot+@syzkaller.appspotmail.com
First crash: 286d, last: 286d

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

write to 0xffffea0004f06708 of 8 bytes by task 29927 on cpu 0:
 __list_add include/linux/list.h:73 [inline]
 list_add include/linux/list.h:88 [inline]
 lruvec_add_folio include/linux/mm_inline.h:102 [inline]
 add_page_to_lru_list include/linux/mm_inline.h:108 [inline]
 move_pages_to_lru+0x643/0x7c0 mm/vmscan.c:2359
 shrink_inactive_list+0x414/0x730 mm/vmscan.c:2440
 shrink_list mm/vmscan.c:2664 [inline]
 shrink_lruvec+0x3c9/0x710 mm/vmscan.c:2983
 shrink_node_memcgs+0x23e/0x410 mm/vmscan.c:3172
 shrink_node+0x8f6/0x1190 mm/vmscan.c:3295
 shrink_zones+0x2d1/0x5e0 mm/vmscan.c:3532
 do_try_to_free_pages+0x181/0x720 mm/vmscan.c:3590
 try_to_free_mem_cgroup_pages+0x1cb/0x420 mm/vmscan.c:3904
 reclaim_high mm/memcontrol.c:2300 [inline]
 mem_cgroup_handle_over_high+0x15b/0x480 mm/memcontrol.c:2484
 tracehook_notify_resume include/linux/tracehook.h:197 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:175 [inline]
 exit_to_user_mode_prepare+0x139/0x190 kernel/entry/common.c:207
 __syscall_exit_to_user_mode_work kernel/entry/common.c:289 [inline]
 syscall_exit_to_user_mode+0x20/0x40 kernel/entry/common.c:300
 do_syscall_64+0x50/0xd0 arch/x86/entry/common.c:86
 entry_SYSCALL_64_after_hwframe+0x44/0xae

read to 0xffffea0004f06708 of 8 bytes by task 29928 on cpu 1:
 page_is_pfmemalloc include/linux/mm.h:1780 [inline]
 __skb_fill_page_desc include/linux/skbuff.h:2258 [inline]
 skb_fill_page_desc include/linux/skbuff.h:2279 [inline]
 skb_append_pagefrags+0x1d0/0x2e0 net/core/skbuff.c:3814
 unix_stream_sendpage+0x471/0xaa0 net/unix/af_unix.c:2291
 kernel_sendpage net/socket.c:3492 [inline]
 sock_sendpage+0x1bb/0x230 net/socket.c:1007
 pipe_to_sendpage+0x128/0x160 fs/splice.c:364
 splice_from_pipe_feed fs/splice.c:418 [inline]
 __splice_from_pipe+0x207/0x500 fs/splice.c:562
 splice_from_pipe fs/splice.c:597 [inline]
 generic_splice_sendpage+0x94/0xd0 fs/splice.c:746
 do_splice_from fs/splice.c:767 [inline]
 direct_splice_actor+0x80/0xa0 fs/splice.c:936
 splice_direct_to_actor+0x345/0x650 fs/splice.c:891
 do_splice_direct+0x106/0x190 fs/splice.c:979
 do_sendfile+0x675/0xc40 fs/read_write.c:1245
 __do_sys_sendfile64 fs/read_write.c:1310 [inline]
 __se_sys_sendfile64 fs/read_write.c:1296 [inline]
 __x64_sys_sendfile64+0x102/0x140 fs/read_write.c:1296
 do_syscall_x64 arch/x86/entry/common.c:50 [inline]
 do_syscall_64+0x44/0xd0 arch/x86/entry/common.c:80
 entry_SYSCALL_64_after_hwframe+0x44/0xae

value changed: 0xdead000000000100 -> 0xffffea0004d19ac8

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 29928 Comm: syz-executor.1 Not tainted 5.17.0-rc5-syzkaller-00006-g917bbdb107f8-dirty #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 01/01/2011
==================================================================

Crashes (1):
Manager Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Title
ci2-upstream-kcsan-gce 2022/02/22 21:45 upstream 917bbdb107f8 6e821dbf .config log report info KCSAN: data-race in move_pages_to_lru / skb_append_pagefrags
* Struck through repros no longer work on HEAD.