Re: [PATCH bpf-next v1 1/3] bpf, sockmap: avoid using sk_socket after free

From: Jiayuan Chen
Date: Thu Feb 27 2025 - 23:50:18 EST


On Thu, Feb 27, 2025 at 03:04:26PM -0800, Martin KaFai Lau wrote:
> On 2/26/25 5:22 AM, Jiayuan Chen wrote:
> > Use RCU lock to protect sk_socket, preventing concurrent close and release
> > by another thread.
> >
> > Because TCP/UDP are already within a relatively large critical section:
> > '''
> > ip_local_deliver_finish
> > rcu_read_lock
> > ip_protocol_deliver_rcu
> > tcp_rcv/udp_rcv
> > rcu_read_unlock
> > '''
> >
> > Adding rcu_read_{un}lock() at the entrance and exit of sk_data_ready
> > will not increase performance overhead.
>
> Can it use a Fixes tag?
Thanks, Martin.
It seems that this issue has existed since sockmap supported unix.
I'll find the corresponding commit as the Fixes tag.