]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
bpf, vsock: Invoke proto::close on close()
authorMichal Luczaj <mhal@rbox.co>
Mon, 18 Nov 2024 21:03:43 +0000 (22:03 +0100)
committerAlexei Starovoitov <ast@kernel.org>
Mon, 25 Nov 2024 22:19:14 +0000 (14:19 -0800)
commit135ffc7becc82cfb84936ae133da7969220b43b2
treec18f2b0ecceb99b8b2566a711c69d6db6c351c6e
parent9c2a2a45136de428b73907195a4a99eb78dc3aca
bpf, vsock: Invoke proto::close on close()

vsock defines a BPF callback to be invoked when close() is called. However,
this callback is never actually executed. As a result, a closed vsock
socket is not automatically removed from the sockmap/sockhash.

Introduce a dummy vsock_close() and make vsock_release() call proto::close.

Note: changes in __vsock_release() look messy, but it's only due to indent
level reduction and variables xmas tree reorder.

Fixes: 634f1a7110b4 ("vsock: support sockmap")
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Link: https://lore.kernel.org/r/20241118-vsock-bpf-poll-close-v1-3-f1b9669cacdc@rbox.co
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: John Fastabend <john.fastabend@gmail.com>
net/vmw_vsock/af_vsock.c