On 3/31/21 4:32 AM, Cong Wang wrote: > From: Cong Wang <cong.w...@bytedance.com> > > Currently sockmap calls into each protocol to update the struct > proto and replace it. This certainly won't work when the protocol > is implemented as a module, for example, AF_UNIX. > > Introduce a new ops sk->sk_prot->psock_update_sk_prot(), so each > protocol can implement its own way to replace the struct proto. > This also helps get rid of symbol dependencies on CONFIG_INET. [...] > > -struct proto *tcp_bpf_get_proto(struct sock *sk, struct sk_psock *psock) > +int tcp_bpf_update_proto(struct sock *sk, bool restore) > { > + struct sk_psock *psock = sk_psock(sk); I do not think RCU is held here ? sk_psock() is using rcu_dereference_sk_user_data() > int family = sk->sk_family == AF_INET6 ? TCP_BPF_IPV6 : TCP_BPF_IPV4; > int config = psock->progs.msg_parser ? TCP_BPF_TX : TCP_BPF_BASE; > Same issue in udp_bpf_update_proto() of course.
- [Patch bpf-next v8 11/16] udp: implement ->read_sock... Cong Wang
- RE: [Patch bpf-next v8 11/16] udp: implement ->... John Fastabend
- Re: [Patch bpf-next v8 11/16] udp: implement -... Cong Wang
- Re: [Patch bpf-next v8 11/16] udp: impleme... Alexei Starovoitov
- [Patch bpf-next v8 09/16] sock_map: introduce BPF_SK_SK... Cong Wang
- RE: [Patch bpf-next v8 09/16] sock_map: introduce ... John Fastabend
- [Patch bpf-next v8 08/16] sock_map: kill sock_map_link_... Cong Wang
- [Patch bpf-next v8 10/16] sock: introduce sk->sk_pro... Cong Wang
- Re: [Patch bpf-next v8 10/16] sock: introduce sk-&... Jakub Sitnicki
- Re: [Patch bpf-next v8 10/16] sock: introduce sk-&... Eric Dumazet
- Re: [Patch bpf-next v8 10/16] sock: introduce ... John Fastabend
- Re: [Patch bpf-next v8 10/16] sock: introduce ... Cong Wang
- Re: [Patch bpf-next v8 10/16] sock: introd... John Fastabend
- [Patch bpf-next v8 13/16] udp: implement udp_bpf_recvms... Cong Wang
- RE: [Patch bpf-next v8 13/16] udp: implement udp_b... John Fastabend
- [Patch bpf-next v8 12/16] skmsg: extract __tcp_bpf_recv... Cong Wang
- RE: [Patch bpf-next v8 12/16] skmsg: extract __tcp... John Fastabend
- [Patch bpf-next v8 16/16] selftests/bpf: add a test cas... Cong Wang
- [Patch bpf-next v8 15/16] selftests/bpf: add a test cas... Cong Wang
- [Patch bpf-next v8 14/16] sock_map: update sock type ch... Cong Wang