diff mbox series

[drm-next] drm/virtio: fix memory leak of vfpriv on error return path

Message ID 20181107203122.6861-1-colin.king@canonical.com (mailing list archive)
State New, archived
Headers show
Series [drm-next] drm/virtio: fix memory leak of vfpriv on error return path | expand

Commit Message

Colin King Nov. 7, 2018, 8:31 p.m. UTC
From: Colin Ian King <colin.king@canonical.com>

The allocation for vfpriv is being leaked on an error return path,
fix this by kfree'ing it before returning.

Detected by CoverityScan, CID#1475380 ("Resource Leak")

Fixes: 6a37c49a94a9 ("drm/virtio: Handle context ID allocation errors")
Signed-off-by: Colin Ian King <colin.king@canonical.com>
---
 drivers/gpu/drm/virtio/virtgpu_kms.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Gerd Hoffmann Nov. 14, 2018, 12:14 p.m. UTC | #1
On Wed, Nov 07, 2018 at 08:31:22PM +0000, Colin King wrote:
> From: Colin Ian King <colin.king@canonical.com>
> 
> The allocation for vfpriv is being leaked on an error return path,
> fix this by kfree'ing it before returning.
> 
> Detected by CoverityScan, CID#1475380 ("Resource Leak")

Patches added to qemu queue, should land in drm-misc-next soon.

thanks,
  Gerd
diff mbox series

Patch

diff --git a/drivers/gpu/drm/virtio/virtgpu_kms.c b/drivers/gpu/drm/virtio/virtgpu_kms.c
index bf609dcae224..f4f995639ed1 100644
--- a/drivers/gpu/drm/virtio/virtgpu_kms.c
+++ b/drivers/gpu/drm/virtio/virtgpu_kms.c
@@ -266,8 +266,10 @@  int virtio_gpu_driver_open(struct drm_device *dev, struct drm_file *file)
 
 	get_task_comm(dbgname, current);
 	id = virtio_gpu_context_create(vgdev, strlen(dbgname), dbgname);
-	if (id < 0)
+	if (id < 0) {
+		kfree(vfpriv);
 		return id;
+	}
 
 	vfpriv->ctx_id = id;
 	file->driver_priv = vfpriv;