]> asedeno.scripts.mit.edu Git - linux.git/commit
bpf: sockmap, sk_wait_event needed to handle blocking cases
authorJohn Fastabend <john.fastabend@gmail.com>
Mon, 23 Apr 2018 22:39:28 +0000 (15:39 -0700)
committerDaniel Borkmann <daniel@iogearbox.net>
Mon, 23 Apr 2018 22:49:45 +0000 (00:49 +0200)
commite20f7334837ae47341d8ec4e3170d0b4336a3676
tree79f30f5474ae45cc9b5663316b6a5f0e1bedd028
parentba6b8de423f8d0dee48d6030288ed81c03ddf9f0
bpf: sockmap, sk_wait_event needed to handle blocking cases

In the recvmsg handler we need to add a wait event to support the
blocking use cases. Without this we return zero and may confuse
user applications. In the wait event any data received on the
sk either via sk_receive_queue or the psock ingress list will
wake up the sock.

Fixes: fa246693a111 ("bpf: sockmap, BPF_F_INGRESS flag for BPF_SK_SKB_STREAM_VERDICT")
Signed-off-by: John Fastabend <john.fastabend@gmail.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
kernel/bpf/sockmap.c