virtio_ring: fix num_free handling in error case
authorTiwei Bie <tiwei.bie@intel.com>
Fri, 23 Feb 2018 11:41:30 +0000 (19:41 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 15 Mar 2018 09:54:32 +0000 (10:54 +0100)
commit e82df670235138575b37ff0ec24412a471efd97f upstream.

The vq->vq.num_free hasn't been changed when error happens,
so it shouldn't be changed when handling the error.

Fixes: 780bc7903a32 ("virtio_ring: Support DMA APIs")
Cc: Andy Lutomirski <luto@kernel.org>
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: stable@vger.kernel.org
Signed-off-by: Tiwei Bie <tiwei.bie@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virtio/virtio_ring.c

index eb30f3e..71458f4 100644 (file)
@@ -428,8 +428,6 @@ unmap_release:
                i = virtio16_to_cpu(_vq->vdev, vq->vring.desc[i].next);
        }
 
-       vq->vq.num_free += total_sg;
-
        if (indirect)
                kfree(desc);