diff options
author | Cong Wang <cong.wang@bytedance.com> | 2021-07-04 22:02:43 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2021-07-16 04:17:49 +0300 |
commit | 0c48eefae712c2fd91480346a07a1a9cd0f9470b (patch) | |
tree | a91ec2c9f219c4f23f842f44aa3d9826881885fe /net/ipv4 | |
parent | 17edea21b38d047a10c189296c58aea9875d0d0a (diff) | |
download | linux-0c48eefae712c2fd91480346a07a1a9cd0f9470b.tar.xz |
sock_map: Lift socket state restriction for datagram sockets
TCP and other connection oriented sockets have accept()
for each incoming connection on the server side, hence
they can just insert those fd's from accept() to sockmap,
which are of course established.
Now with datagram sockets begin to support sockmap and
redirection, the restriction is no longer applicable to
them, as they have no accept(). So we have to lift this
restriction for them. This is fine, because inside
bpf_sk_redirect_map() we still have another socket status
check, sock_map_redirect_allowed(), as a guard.
This also means they do not have to be removed from
sockmap when disconnecting.
Signed-off-by: Cong Wang <cong.wang@bytedance.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210704190252.11866-3-xiyou.wangcong@gmail.com
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/udp_bpf.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/net/ipv4/udp_bpf.c b/net/ipv4/udp_bpf.c index 45b8782aec0c..cb1d113ce6fd 100644 --- a/net/ipv4/udp_bpf.c +++ b/net/ipv4/udp_bpf.c @@ -112,7 +112,6 @@ static struct proto udp_bpf_prots[UDP_BPF_NUM_PROTS]; static void udp_bpf_rebuild_protos(struct proto *prot, const struct proto *base) { *prot = *base; - prot->unhash = sock_map_unhash; prot->close = sock_map_close; prot->recvmsg = udp_bpf_recvmsg; } |