[PATCH v2 0/2] virtio-balloon: make it spec compliant

From: Michael S. Tsirkin
Date: Wed Jul 10 2024 - 07:43:22 EST


Currently, if VIRTIO_BALLOON_F_FREE_PAGE_HINT is off but
VIRTIO_BALLOON_F_REPORTING is on, then the reporting vq
gets number 3 while spec says it's number 4.
It happens to work because the qemu virtio pci driver
is *also* out of spec.

To fix:
1. add vq4 as per spec
2. to help out the buggy qemu driver, if finding vqs fail,
try with vq3 as reporting.

Fixes: b0c504f15471 ("virtio-balloon: add support for providing free page reports to host")
Cc: "Alexander Duyck" <alexander.h.duyck@xxxxxxxxxxxxxxx>
Reported-by: Xuan Zhuo <xuanzhuo@xxxxxxxxxxxxxxxxx>
Signed-off-by: Michael S. Tsirkin <mst@xxxxxxxxxx>

Changes from v1:
rebased on vhost tip


Michael S. Tsirkin (2):
virtio_balloon: add work around for out of spec QEMU
virtio: fix vq # for balloon

arch/um/drivers/virtio_uml.c | 4 ++--
drivers/remoteproc/remoteproc_virtio.c | 4 ++--
drivers/s390/virtio/virtio_ccw.c | 4 ++--
drivers/virtio/virtio_balloon.c | 19 +++++++++++++++++--
drivers/virtio/virtio_mmio.c | 4 ++--
drivers/virtio/virtio_pci_common.c | 11 ++++++++---
drivers/virtio/virtio_vdpa.c | 4 ++--
7 files changed, 35 insertions(+), 15 deletions(-)

--
MST