[moderation/CI] Re: tcp: opportunistic loopback splice for BPF-paired sockets
syzbot ci <[email protected]>
| Newsgroups | dev.linux.lists.syzbot |
|---|---|
| Message-ID | <[email protected]> |
syzbot ci has tested the following series [v1] tcp: opportunistic loopback splice for BPF-paired sockets https://lore.kernel.org/all/[email protected] * [RFC PATCH bpf-next 1/5] tcp_bpf: add bpf_sock_splice_pair kfunc for opportunistic loopback splice * [RFC PATCH bpf-next 2/5] tcp_bpf: busy-poll the splice ring before parking the receiver * [RFC PATCH bpf-next 3/5] selftests/bpf: add tcp_splice basic round-trip test * [RFC PATCH bpf-next 4/5] bpf: allow SO_BUSY_POLL in bpf_setsockopt() * [RFC PATCH bpf-next 5/5] selftests/bpf: set SO_BUSY_POLL from the tcp_splice sockops prog and found the following issues: * WARNING: suspicious RCU usage in tcp_bpf_recvmsg * WARNING: suspicious RCU usage in tcp_bpf_splice_sendmsg Full report is available here: https://ci.syzbot.org/series/7c43d5ae-cb19-4b2b-96ad-f7f0806ac63c *** WARNING: suspicious RCU usage in tcp_bpf_recvmsg tree: bpf-next URL: https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git base: 30dee2c176e7954f63d1fa3e52d172f30beb9bfb arch: amd64 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 config: https://ci.syzbot.org/builds/09e43fc4-ebab-492e-b1de-15bb86aa4588/config syz repro: https://ci.syzbot.org/findings/79db1500-f71c-4550-8525-89bf06044d60/syz_repro ============================= WARNING: suspicious RCU usage syzkaller #0 Not tainted ----------------------------- net/ipv4/tcp_bpf.c:883 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 no locks held by syz.0.17/5822. stack backtrace: CPU: 1 UID: 0 PID: 5822 Comm: syz.0.17 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x13f/0x1d0 kernel/locking/lockdep.c:6876 sk_psock_is_spliced net/ipv4/tcp_bpf.c:883 [inline] tcp_bpf_recvmsg+0x1780/0x1980 net/ipv4/tcp_bpf.c:405 sock_recvmsg_nosec+0xee/0x140 net/socket.c:1137 ____sys_recvmsg+0x3e3/0x4a0 net/socket.c:2916 ___sys_recvmsg+0x215/0x590 net/socket.c:2960 do_recvmmsg+0x334/0x800 net/socket.c:3055 __sys_recvmmsg net/socket.c:3129 [inline] __do_sys_recvmmsg net/socket.c:3152 [inline] __se_sys_recvmmsg net/socket.c:3145 [inline] __x64_sys_recvmmsg+0x198/0x250 net/socket.c:3145 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f1af799ce59 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007f1af87bc028 EFLAGS: 00000246 ORIG_RAX: 000000000000012b RAX: ffffffffffffffda RBX: 00007f1af7c15fa0 RCX: 00007f1af799ce59 RDX: 0000000000000002 RSI: 0000200000000400 RDI: 0000000000000003 RBP: 00007f1af7a32d6f R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000010051 R11: 0000000000000246 R12: 0000000000000000 R13: 00007f1af7c16038 R14: 00007f1af7c15fa0 R15: 00007ffdef205588 </TASK> *** WARNING: suspicious RCU usage in tcp_bpf_splice_sendmsg tree: bpf-next URL: https://kernel.googlesource.com/pub/scm/linux/kernel/git/bpf/bpf-next.git base: 30dee2c176e7954f63d1fa3e52d172f30beb9bfb arch: amd64 compiler: Debian clang version 21.1.8 (++20251221033036+2078da43e25a-1~exp1~20251221153213.50), Debian LLD 21.1.8 config: https://ci.syzbot.org/builds/09e43fc4-ebab-492e-b1de-15bb86aa4588/config syz repro: https://ci.syzbot.org/findings/8144de7d-1a2e-454e-ab17-08d1c6586df2/syz_repro ============================= WARNING: suspicious RCU usage syzkaller #0 Not tainted ----------------------------- net/ipv4/tcp_bpf.c:883 suspicious rcu_dereference_check() usage! other info that might help us debug this: rcu_scheduler_active = 2, debug_locks = 1 no locks held by syz.2.19/5817. stack backtrace: CPU: 0 UID: 0 PID: 5817 Comm: syz.2.19 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.2-debian-1.16.2-1 04/01/2014 Call Trace: <TASK> dump_stack_lvl+0xe8/0x150 lib/dump_stack.c:120 lockdep_rcu_suspicious+0x13f/0x1d0 kernel/locking/lockdep.c:6876 sk_psock_is_spliced net/ipv4/tcp_bpf.c:883 [inline] tcp_bpf_splice_sendmsg+0x1165/0x1490 net/ipv4/tcp_bpf.c:897 sock_sendmsg_nosec net/socket.c:787 [inline] __sock_sendmsg net/socket.c:802 [inline] ____sys_sendmsg+0x80a/0x9f0 net/socket.c:2698 ___sys_sendmsg+0x2a5/0x360 net/socket.c:2752 __sys_sendmmsg+0x27c/0x4e0 net/socket.c:2841 __do_sys_sendmmsg net/socket.c:2868 [inline] __se_sys_sendmmsg net/socket.c:2865 [inline] __x64_sys_sendmmsg+0xa0/0xc0 net/socket.c:2865 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0x174/0x580 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fd1c339ce59 Code: ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 e8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007fd1c42e3028 EFLAGS: 00000246 ORIG_RAX: 0000000000000133 RAX: ffffffffffffffda RBX: 00007fd1c3615fa0 RCX: 00007fd1c339ce59 RDX: 0000000000000001 RSI: 0000200000001000 RDI: 0000000000000003 RBP: 00007fd1c3432d6f R08: 0000000000000000 R09: 0000000000000000 R10: 0000000004008005 R11: 0000000000000246 R12: 0000000000000000 R13: 00007fd1c3616038 R14: 00007fd1c3615fa0 R15: 00007ffdcdbac378 </TASK> *** If these findings have caused you to resend the series or submit a separate fix, please add the following tag to your commit message: Tested-by: [email protected] --- This report is generated by a bot. It may contain errors. syzbot ci engineers can be reached at [email protected]. To test a patch for this bug, please reply with `#syz test` (should be on a separate line). The patch should be attached to the email. Note: arguments like custom git repos and branches are not supported. The email will later be sent to: [[email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected] [email protected]] If the report looks fine to you, reply with: #syz upstream If the report is a false positive, reply with #syz invalid