On Tue, Oct 26, 2021 at 9:31 PM Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> wrote: > > The flags are currently overwritten, leading to the wrong direction > being passed to the DMA unmap functions. > > Fixes: 72b5e8958738aaa4 ("virtio-ring: store DMA metadata in desc_extra for split virtqueue") > Signed-off-by: Vincent Whitchurch <vincent.whitchurch@xxxxxxxx> Acked-by: Jason Wang <jasowang@xxxxxxxxxx> Thanks > --- > drivers/virtio/virtio_ring.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c > index dd95dfd85e98..3035bb6f5458 100644 > --- a/drivers/virtio/virtio_ring.c > +++ b/drivers/virtio/virtio_ring.c > @@ -576,7 +576,7 @@ static inline int virtqueue_add_split(struct virtqueue *_vq, > /* Last one doesn't continue. */ > desc[prev].flags &= cpu_to_virtio16(_vq->vdev, ~VRING_DESC_F_NEXT); > if (!indirect && vq->use_dma_api) > - vq->split.desc_extra[prev & (vq->split.vring.num - 1)].flags = > + vq->split.desc_extra[prev & (vq->split.vring.num - 1)].flags &= > ~VRING_DESC_F_NEXT; > > if (indirect) { > -- > 2.28.0 > _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization