]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed
authorYueHaibing <yuehaibing@huawei.com>
Tue, 12 Mar 2019 07:06:53 +0000 (15:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 May 2019 17:40:30 +0000 (19:40 +0200)
commit df0bfe7501e9319546ea380d39674a4179e059c3 upstream.

'desc' should be freed before leaving from err handing path.

Fixes: 1ce9e6055fa0 ("virtio_ring: introduce packed ring support")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Acked-by: Jason Wang <jasowang@redhat.com>
stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/virtio/virtio_ring.c

index a38b65b97be0e86ae6ce9b8c7905464190f82296..a659e52cf79c2af747f79ac1e33d2da4d6129466 100644 (file)
@@ -993,6 +993,7 @@ static int virtqueue_add_indirect_packed(struct vring_virtqueue *vq,
 
        if (unlikely(vq->vq.num_free < 1)) {
                pr_debug("Can't add buf len 1 - avail = 0\n");
+               kfree(desc);
                END_USE(vq);
                return -ENOSPC;
        }