[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CALye=__1_5Zr99AEZhxXXBtzbTPDC_KEZz_WCDDavjwujECYtQ@mail.gmail.com>
Date: Wed, 11 Jun 2025 10:57:41 +0200
From: Vincent Whitchurch <vincent.whitchurch@...adoghq.com>
To: Jakub Kicinski <kuba@...nel.org>
Cc: Vincent Whitchurch via B4 Relay <devnull+vincent.whitchurch.datadoghq.com@...nel.org>,
John Fastabend <john.fastabend@...il.com>, Jakub Sitnicki <jakub@...udflare.com>,
Kuniyuki Iwashima <kuniyu@...zon.com>, netdev@...r.kernel.org, bpf@...r.kernel.org
Subject: Re: [PATCH bpf-next v2 1/5] net: Add splice_read to prot
On Mon, Jun 9, 2025 at 9:21 PM Jakub Kicinski <kuba@...nel.org> wrote:
> Can we not override proto_ops in tcp_bpf for some specific reason?
> TLS does that, IIUC.
I see that TLS writes to sk->sk_socket->ops to override the proto_ops.
I added some prints to tcp_bpf_update_proto() but there I see that
sk->sk_socket is NULL in some code paths, like the one below.
tcp_bpf_update_proto: restore 0 sk_prot 000000002cf13dcc sk_socket
0000000000000000
CPU: 0 UID: 0 PID: 392 Comm: test_sockmap Not tainted
6.15.0-12313-g39e87f4ff7c3-dirty #77 PREEMPT(voluntary)
Call Trace:
<IRQ>
dump_stack_lvl+0x83/0xa0
tcp_bpf_update_proto+0x116/0x790
sock_map_link+0x425/0xdd0
sock_map_update_common+0xb8/0x6a0
bpf_sock_map_update+0x102/0x190
bpf_prog_4d9ceaf804942d01_bpf_sockmap+0x79/0x81
__cgroup_bpf_run_filter_sock_ops+0x1db/0x4b0
tcp_init_transfer+0x852/0xc00
tcp_rcv_state_process+0x3147/0x4b30
tcp_child_process+0x346/0x8b0
tcp_v4_rcv+0x1616/0x3e10
ip_protocol_deliver_rcu+0x93/0x370
ip_local_deliver_finish+0x29c/0x420
ip_local_deliver+0x193/0x450
ip_rcv+0x497/0x710
__netif_receive_skb_one_core+0x164/0x1b0
process_backlog+0x3a7/0x12b0
__napi_poll.constprop.0+0xa0/0x440
net_rx_action+0x8ce/0xca0
handle_softirqs+0x1c3/0x7b0
do_softirq+0xa5/0xd0
Powered by blists - more mailing lists