In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: Coalesce only linear skb vsock/virtio common tries to coalesce buffers in rx queue: if a linear skb (with a spare tail room) is followed by a small skb (length limited by GOODCOPYLEN = 128), an attempt is made to join them. Since the introduction of MSGZEROCOPY support, assumption that a small skb will always be linear is incorrect. In the zerocopy case, data is lost and the linear skb is appended with uninitialized kernel memory. Of all 3 supported virtio-based transports, only loopback-transport is affected. G2H virtio-transport rx queue operates on explicitly linear skbs; see virtiovsockalloclinearskb() in virtiovsockrxfill(). H2G vhost-transport may allocate non-linear skbs, but only for sizes that are not considered for coalescence; see PAGEALLOCCOSTLYORDER in virtiovsockallocskb(). Ensure only linear skbs are coalesced. Note that skbtailroom(lastskb) > 0 guarantees last_skb is linear.