summaryrefslogtreecommitdiff
path: root/drivers/virtio
diff options
context:
space:
mode:
authorYueHaibing <yuehaibing@huawei.com>2019-03-12 10:06:53 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-05-16 20:35:39 +0300
commit037ca765796fec2a7becc14c75c0ebcfb57be0c0 (patch)
tree5c3f346acb5f9b110217106ba5559d75ffd0710b /drivers/virtio
parent665c4bdd5736977cb01ee6f5efd76f6df9d6b303 (diff)
downloadlinux-037ca765796fec2a7becc14c75c0ebcfb57be0c0.tar.xz
virtio_ring: Fix potential mem leak in virtqueue_add_indirect_packed
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>
Diffstat (limited to 'drivers/virtio')
-rw-r--r--drivers/virtio/virtio_ring.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/virtio/virtio_ring.c b/drivers/virtio/virtio_ring.c
index 5df92c308286..021010424fa5 100644
--- a/drivers/virtio/virtio_ring.c
+++ b/drivers/virtio/virtio_ring.c
@@ -1004,6 +1004,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;
}