]> www.infradead.org Git - users/jedix/linux-maple.git/commit
virtio_ring: Fix error reporting in virtqueue_resize
authorLaurent Vivier <lvivier@redhat.com>
Wed, 21 May 2025 09:22:34 +0000 (11:22 +0200)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 3 Jul 2025 09:40:02 +0000 (11:40 +0200)
commit45ebc7e6c125ce93d2ddf82cd5bea20121bb0258
treea744e667096db722ef3e52b80d43f22835c43d67
parent5177373c31318c3c6a190383bfd232e6cf565c36
virtio_ring: Fix error reporting in virtqueue_resize

The virtqueue_resize() function was not correctly propagating error codes
from its internal resize helper functions, specifically
virtqueue_resize_packet() and virtqueue_resize_split(). If these helpers
returned an error, but the subsequent call to virtqueue_enable_after_reset()
succeeded, the original error from the resize operation would be masked.
Consequently, virtqueue_resize() could incorrectly report success to its
caller despite an underlying resize failure.

This change restores the original code behavior:

       if (vdev->config->enable_vq_after_reset(_vq))
               return -EBUSY;

       return err;

Fix: commit ad48d53b5b3f ("virtio_ring: separate the logic of reset/enable from virtqueue_resize")
Cc: xuanzhuo@linux.alibaba.com
Signed-off-by: Laurent Vivier <lvivier@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Link: https://patch.msgid.link/20250521092236.661410-2-lvivier@redhat.com
Tested-by: Lei Yang <leiyang@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/virtio/virtio_ring.c