[PATCH v4 0/9] vsock/virtio: SKB allocation improvements

From: Will Deacon
Date: Thu Jul 17 2025 - 05:02:42 EST


Hi all,

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

v1: https://lore.kernel.org/r/20250625131543.5155-1-will@xxxxxxxxxx
v2: https://lore.kernel.org/r/20250701164507.14883-1-will@xxxxxxxxxx
v3: https://lore.kernel.org/r/20250714152103.6949-1-will@xxxxxxxxxx

There are only two minor changes since v3:

* Use unlikely() in payload length check on the virtio rx path

* Add R-b tags from Stefano

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 (9):
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 4K
page
vsock/virtio: Rename virtio_vsock_alloc_skb()
vsock/virtio: Move SKB allocation lower-bound check to callers
vhost/vsock: Allocate nonlinear SKBs for handling large receive
buffers
vsock/virtio: Rename virtio_vsock_skb_rx_put()
vsock/virtio: Allocate nonlinear SKBs for handling large transmit
buffers

drivers/vhost/vsock.c | 15 ++++----
include/linux/virtio_vsock.h | 46 +++++++++++++++++++------
net/vmw_vsock/virtio_transport.c | 20 ++++++++---
net/vmw_vsock/virtio_transport_common.c | 3 +-
4 files changed, 60 insertions(+), 24 deletions(-)

--
2.50.0.727.gbf7dc18ff4-goog