lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ