skmsg: Introduce a spinlock to protect ingress_msg
authorCong Wang <cong.wang@bytedance.com>
Wed, 31 Mar 2021 02:32:23 +0000 (19:32 -0700)
committerAlexei Starovoitov <ast@kernel.org>
Thu, 1 Apr 2021 17:56:13 +0000 (10:56 -0700)
commitb01fd6e802b6d0a635176f943315670b679d8d7b
treeeaec8fac3eb099041e35c44eca796202fd5eb8ee
parent37f0e514db660f03f8982b8f4fbbd4b2740abe7d
skmsg: Introduce a spinlock to protect ingress_msg

Currently we rely on lock_sock to protect ingress_msg,
it is too big for this, we can actually just use a spinlock
to protect this list like protecting other skb queues.

__tcp_bpf_recvmsg() is still special because of peeking,
it still has to use lock_sock.

Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Link: https://lore.kernel.org/bpf/20210331023237.41094-3-xiyou.wangcong@gmail.com
include/linux/skmsg.h
net/core/skmsg.c
net/ipv4/tcp_bpf.c