syzbot


KCSAN: data-race in page_pool_put_unrefed_page / page_pool_refill_alloc_cache

Status: auto-obsoleted due to no activity on 2024/05/29 03:58
Subsystems: net
[Documentation on labels]
First crash: 498d, last: 485d

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

write to 0xffff888117ba8280 of 8 bytes by task 10348 on cpu 0:
 __ptr_ring_discard_one include/linux/ptr_ring.h:280 [inline]
 __ptr_ring_consume include/linux/ptr_ring.h:301 [inline]
 page_pool_refill_alloc_cache+0x271/0x380 net/core/page_pool.c:341
 __page_pool_get_cached net/core/page_pool.c:380 [inline]
 page_pool_alloc_pages+0x7a/0xb0 net/core/page_pool.c:544
 page_pool_dev_alloc_pages include/net/page_pool/helpers.h:92 [inline]
 xdp_test_run_batch net/bpf/test_run.c:301 [inline]
 bpf_test_run_xdp_live+0x389/0xe40 net/bpf/test_run.c:384
 bpf_prog_test_run_xdp+0x523/0x8a0 net/bpf/test_run.c:1267
 bpf_prog_test_run+0x26d/0x3e0 kernel/bpf/syscall.c:4269
 __sys_bpf+0x400/0x7a0 kernel/bpf/syscall.c:5678
 __do_sys_bpf kernel/bpf/syscall.c:5767 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:5765 [inline]
 __x64_sys_bpf+0x43/0x50 kernel/bpf/syscall.c:5765
 x64_sys_call+0x86c/0x2d30 arch/x86/include/generated/asm/syscalls_64.h:322
 do_syscall_x64 arch/x86/entry/common.c:52 [inline]
 do_syscall_64+0xcd/0x1d0 arch/x86/entry/common.c:83
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff888117ba8280 of 8 bytes by task 10351 on cpu 1:
 __ptr_ring_produce include/linux/ptr_ring.h:106 [inline]
 ptr_ring_produce_bh include/linux/ptr_ring.h:163 [inline]
 page_pool_recycle_in_ring net/core/page_pool.c:631 [inline]
 page_pool_put_unrefed_page+0x2aa/0x460 net/core/page_pool.c:723
 page_pool_put_page include/net/page_pool/helpers.h:316 [inline]
 page_pool_put_full_page include/net/page_pool/helpers.h:332 [inline]
 napi_pp_put_page+0x177/0x2b0 net/core/skbuff.c:1046
 skb_pp_recycle net/core/skbuff.c:1057 [inline]
 skb_free_head net/core/skbuff.c:1104 [inline]
 skb_release_data+0x549/0x590 net/core/skbuff.c:1136
 skb_release_all net/core/skbuff.c:1202 [inline]
 __kfree_skb+0x44/0x150 net/core/skbuff.c:1216
 kfree_skb_reason+0xb0/0x2b0 net/core/skbuff.c:1252
 __skb_queue_purge_reason include/linux/skbuff.h:3242 [inline]
 skb_queue_purge_reason+0x1ea/0x240 net/core/skbuff.c:3886
 skb_queue_purge include/linux/skbuff.h:3255 [inline]
 packet_release+0x6e3/0x7f0 net/packet/af_packet.c:3182
 __sock_release net/socket.c:659 [inline]
 sock_close+0x68/0x150 net/socket.c:1421
 __fput+0x2c1/0x660 fs/file_table.c:422
 ____fput+0x15/0x20 fs/file_table.c:450
 task_work_run+0x13a/0x1a0 kernel/task_work.c:180
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 exit_to_user_mode_loop kernel/entry/common.c:114 [inline]
 exit_to_user_mode_prepare include/linux/entry-common.h:328 [inline]
 __syscall_exit_to_user_mode_work kernel/entry/common.c:207 [inline]
 syscall_exit_to_user_mode+0xbe/0x130 kernel/entry/common.c:218
 do_syscall_64+0xda/0x1d0 arch/x86/entry/common.c:89
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffffea0004996e80 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 1 PID: 10351 Comm: syz-executor.2 Tainted: G        W          6.9.0-rc5-syzkaller-00036-g9d1ddab261f3 #0
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 03/27/2024
==================================================================

Crashes (2):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2024/04/24 03:48 upstream 9d1ddab261f3 21339d7b .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in page_pool_put_unrefed_page / page_pool_refill_alloc_cache
2024/04/11 04:46 upstream 9875c0beb8ad 33b9e058 .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in page_pool_put_unrefed_page / page_pool_refill_alloc_cache
* Struck through repros no longer work on HEAD.