[PATCH v2 0/8] vsock/virtio: SKB allocation improvements

From: Will Deacon
Date: Tue Jul 01 2025 - 12:51:38 EST


Hello again,

Here is version two of the patches I previously posted here:

https://lore.kernel.org/r/20250625131543.5155-1-will@xxxxxxxxxx

Changes since v1 include:

* Remove virtio_vsock_alloc_skb_with_frags() and instead push decision
to allocate nonlinear SKBs into virtio_vsock_alloc_skb()

* Remove VIRTIO_VSOCK_DEFAULT_RX_BUF_SIZE and inline its definition
along with a comment

* Validate the length advertised by the packet header on the guest
receive path

* Minor tweaks to the commit messages and addition of stable tags

Thanks to Stefano for all the review feedback so far.

Cheers,

Will

Cc: Keir Fraser <keirf@xxxxxxxxxx>
Cc: Steven Moreland <smoreland@xxxxxxxxxx>
Cc: Frederick Mayle <fmayle@xxxxxxxxxx>
Cc: Stefan Hajnoczi <stefanha@xxxxxxxxxx>
Cc: Stefano Garzarella <sgarzare@xxxxxxxxxx>
Cc: "Michael S. Tsirkin" <mst@xxxxxxxxxx>
Cc: Jason Wang <jasowang@xxxxxxxxxx>
Cc: "Eugenio Pérez" <eperezma@xxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Cc: netdev@xxxxxxxxxxxxxxx
Cc: virtualization@xxxxxxxxxxxxxxx

--->8

Will Deacon (8):
vhost/vsock: Avoid allocating arbitrarily-sized SKBs
vsock/virtio: Validate length in packet header before skb_put()
vsock/virtio: Move length check to callers of
virtio_vsock_skb_rx_put()
vsock/virtio: Resize receive buffers so that each SKB fits in a page
vsock/virtio: Add vsock helper for linear SKB allocation
vhost/vsock: Allocate nonlinear SKBs for handling large receive
buffers
vsock/virtio: Rename virtio_vsock_skb_rx_put() to
virtio_vsock_skb_put()
vsock/virtio: Allocate nonlinear SKBs for handling large transmit
buffers

drivers/vhost/vsock.c | 15 +++++-----
include/linux/virtio_vsock.h | 37 +++++++++++++++++++------
net/vmw_vsock/virtio_transport.c | 25 +++++++++++++----
net/vmw_vsock/virtio_transport_common.c | 3 +-
4 files changed, 59 insertions(+), 21 deletions(-)

--
2.50.0.727.gbf7dc18ff4-goog