On Wed, 13 Aug 2025 04:41:09 -0400 "Michael S. Tsirkin" wrote: > On Thu, Jul 17, 2025 at 10:01:16AM +0100, Will Deacon wrote: > > When transmitting a vsock packet, virtio_transport_send_pkt_info() calls > > virtio_transport_alloc_linear_skb() to allocate and fill SKBs with the > > transmit data. Unfortunately, these are always linear allocations and > > can therefore result in significant pressure on kmalloc() considering > > that the maximum packet size (VIRTIO_VSOCK_MAX_PKT_BUF_SIZE + > > VIRTIO_VSOCK_SKB_HEADROOM) is a little over 64KiB, resulting in a 128KiB > > allocation for each packet. > > > > Rework the vsock SKB allocation so that, for sizes with page order > > greater than PAGE_ALLOC_COSTLY_ORDER, a nonlinear SKB is allocated > > instead with the packet header in the SKB and the transmit data in the > > fragments. Note that this affects both the vhost and virtio transports. > > > > Reviewed-by: Stefano Garzarella <sgarz...@redhat.com> > > Signed-off-by: Will Deacon <w...@kernel.org> > > So this caused a regression, see syzbot report: > > https://lore.kernel.org/all/689a3d92.050a0220.7f033.00ff....@google.com > > I'm inclined to revert unless we have a fix quickly. > Because recomputing skb len survived the syzbot test [1], Will looks innocent.
[1] https://lore.kernel.org/lkml/689c8d08.050a0220.7f033.014a....@google.com/