]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
virtio/vsock: don't drop skbuff on copy failure
authorArseniy Krasnov <avkrasnov@sberdevices.ru>
Tue, 14 Mar 2023 11:08:20 +0000 (14:08 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:52:19 +0000 (11:52 +0100)
commit1e5f00e9dbdbf6f78adc0fe658b6ac54df71d452
tree21c5ad5ee654b2261f139438e84fee8b1cb27373
parent883a3db2212c5a314bf515b74736b1051f93485d
virtio/vsock: don't drop skbuff on copy failure

commit 8daaf39f7f6ef53a11817f6a11ec104016c3545f upstream.

This returns behaviour of SOCK_STREAM read as before skbuff usage. When
copying to user fails current skbuff won't be dropped, but returned to
sockets's queue. Technically instead of 'skb_dequeue()', 'skb_peek()' is
called and when skbuff becomes empty, it is removed from queue by
'__skb_unlink()'.

Fixes: 71dc9ec9ac7d ("virtio/vsock: replace virtio_vsock_pkt with sk_buff")
Signed-off-by: Arseniy Krasnov <AVKrasnov@sberdevices.ru>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Acked-by: Bobby Eshleman <bobby.eshleman@bytedance.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/vmw_vsock/virtio_transport_common.c