syzbot


KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release (3)

Status: moderation: reported on 2026/03/25 16:13
Subsystems: net
[Documentation on labels]
Reported-by: syzbot+67f327478bff7295bfab@syzkaller.appspotmail.com
First crash: 8d14h, last: 8d14h
✨ AI Jobs (1)
ID Workflow Result Correct Bug Created Started Finished Revision Error
a60a7394-c27f-47bf-84f8-0eee2f96a7b2 assessment-kcsan Benign: ✅  Confident: ✅  KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release (3) 2026/03/21 16:06 2026/03/21 16:06 2026/03/21 16:08 f84caa2f84dea47b51a188e8d6267f295e89bbcb
Similar bugs (2)
Kernel Title Rank 🛈 Repro Cause bisect Fix bisect Count Last Reported Patched Status
upstream KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release (2) net 6 11 90d 86d 0/29 auto-obsoleted due to no activity on 2026/02/23 09:38
upstream KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release net 6 4 298d 324d 0/29 auto-obsoleted due to no activity on 2025/07/30 18:53

Sample crash report:
==================================================================
BUG: KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release

write to 0xffff8881a07b6800 of 8 bytes by task 30358 on cpu 1:
 __ptr_ring_zero_tail include/linux/ptr_ring.h:259 [inline]
 __ptr_ring_discard_one include/linux/ptr_ring.h:291 [inline]
 __ptr_ring_consume include/linux/ptr_ring.h:311 [inline]
 ptr_ring_consume_bh include/linux/ptr_ring.h:376 [inline]
 page_pool_empty_ring net/core/page_pool.c:1111 [inline]
 page_pool_scrub net/core/page_pool.c:1183 [inline]
 page_pool_release+0x28a/0x780 net/core/page_pool.c:1191
 page_pool_destroy+0x202/0x370 net/core/page_pool.c:1300
 xdp_test_run_teardown net/bpf/test_run.c:207 [inline]
 bpf_test_run_xdp_live+0x12b8/0x1360 net/bpf/test_run.c:385
 bpf_prog_test_run_xdp+0x57b/0xa10 net/bpf/test_run.c:1397
 bpf_prog_test_run+0x204/0x340 kernel/bpf/syscall.c:4722
 __sys_bpf+0x52e/0x7e0 kernel/bpf/syscall.c:6246
 __do_sys_bpf kernel/bpf/syscall.c:6341 [inline]
 __se_sys_bpf kernel/bpf/syscall.c:6339 [inline]
 __x64_sys_bpf+0x41/0x50 kernel/bpf/syscall.c:6339
 x64_sys_call+0x10cb/0x3020 arch/x86/include/generated/asm/syscalls_64.h:322
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0x12c/0x370 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

read to 0xffff8881a07b6800 of 8 bytes by task 30365 on cpu 0:
 __ptr_ring_produce include/linux/ptr_ring.h:106 [inline]
 page_pool_recycle_in_ring net/core/page_pool.c:786 [inline]
 page_pool_put_unrefed_netmem+0x38b/0x4b0 net/core/page_pool.c:907
 page_pool_put_netmem include/net/page_pool/helpers.h:343 [inline]
 page_pool_put_full_netmem include/net/page_pool/helpers.h:373 [inline]
 napi_pp_put_page+0xe9/0x200 net/core/skbuff.c:1039
 skb_pp_recycle net/core/skbuff.c:1050 [inline]
 skb_free_head net/core/skbuff.c:1097 [inline]
 skb_release_data+0x624/0x670 net/core/skbuff.c:1128
 skb_release_all net/core/skbuff.c:1203 [inline]
 __kfree_skb+0x44/0x150 net/core/skbuff.c:1217
 sk_skb_reason_drop+0xbd/0x290 net/core/skbuff.c:1255
 kfree_skb_reason include/linux/skbuff.h:1322 [inline]
 __skb_queue_purge_reason include/linux/skbuff.h:3426 [inline]
 skb_queue_purge_reason+0x20d/0x260 net/core/skbuff.c:4021
 skb_queue_purge include/linux/skbuff.h:3439 [inline]
 packet_release+0x6e5/0x7e0 net/packet/af_packet.c:3177
 __sock_release net/socket.c:662 [inline]
 sock_close+0x6b/0x150 net/socket.c:1455
 __fput+0x29b/0x650 fs/file_table.c:469
 ____fput+0x1c/0x30 fs/file_table.c:497
 task_work_run+0x130/0x1a0 kernel/task_work.c:233
 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline]
 __exit_to_user_mode_loop kernel/entry/common.c:67 [inline]
 exit_to_user_mode_loop+0x1f4/0x6f0 kernel/entry/common.c:98
 __exit_to_user_mode_prepare include/linux/irq-entry-common.h:226 [inline]
 syscall_exit_to_user_mode_prepare include/linux/irq-entry-common.h:256 [inline]
 syscall_exit_to_user_mode include/linux/entry-common.h:325 [inline]
 do_syscall_64+0x249/0x370 arch/x86/entry/syscall_64.c:100
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

value changed: 0xffffea0006b91fc0 -> 0x0000000000000000

Reported by Kernel Concurrency Sanitizer on:
CPU: 0 UID: 0 PID: 30365 Comm: syz.0.6066 Tainted: G        W           syzkaller #0 PREEMPT(full) 
Tainted: [W]=WARN
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 02/12/2026
==================================================================

Crashes (1):
Time Kernel Commit Syzkaller Config Log Report Syz repro C repro VM info Assets (help?) Manager Title
2026/03/21 16:06 upstream 42bddab0563f 5b92003d .config console log report info [disk image] [vmlinux] [kernel image] ci2-upstream-kcsan-gce KCSAN: data-race in page_pool_put_unrefed_netmem / page_pool_release
* Struck through repros no longer work on HEAD.