Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

vsock/bpf: Warn on socket without transport

In the spirit of commit 91751e248256 ("vsock: prevent null-ptr-deref in
vsock_*[has_data|has_space]"), armorize the "impossible" cases with a
warning.

Fixes: 634f1a7110b4 ("vsock: support sockmap")
Signed-off-by: Michal Luczaj <mhal@rbox.co>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>

authored by

Michal Luczaj and committed by
Paolo Abeni
857ae055 8fb5bb16

+4 -1
+3
net/vmw_vsock/af_vsock.c
··· 1189 1189 { 1190 1190 struct vsock_sock *vsk = vsock_sk(sk); 1191 1191 1192 + if (WARN_ON_ONCE(!vsk->transport)) 1193 + return -ENODEV; 1194 + 1192 1195 return vsk->transport->read_skb(vsk, read_actor); 1193 1196 } 1194 1197
+1 -1
net/vmw_vsock/vsock_bpf.c
··· 87 87 lock_sock(sk); 88 88 vsk = vsock_sk(sk); 89 89 90 - if (!vsk->transport) { 90 + if (WARN_ON_ONCE(!vsk->transport)) { 91 91 copied = -ENODEV; 92 92 goto out; 93 93 }