aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2017-04-06 11:59:40 -0400
committerGerd Hoffmann <kraxel@redhat.com>2017-04-07 07:29:17 -0400
commit385aee965b4e4c36551c362a334378d2985b722a (patch)
tree78e2ea33fc9a319d67b9f6dae5487a8c35529d5f
parente20c29aa722a90f3b8092b340362eabe488dbfc4 (diff)
drm/virtio: don't leak bo on drm_gem_object_init failure
Reported-by: 李强 <liqiang6-s@360.cn> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Link: http://patchwork.freedesktop.org/patch/msgid/20170406155941.458-1-kraxel@redhat.com
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_object.c b/drivers/gpu/drm/virtio/virtgpu_object.c
index 1483daebe057..6f66b7347cd0 100644
--- a/drivers/gpu/drm/virtio/virtgpu_object.c
+++ b/drivers/gpu/drm/virtio/virtgpu_object.c
@@ -81,8 +81,10 @@ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev,
81 return -ENOMEM; 81 return -ENOMEM;
82 size = roundup(size, PAGE_SIZE); 82 size = roundup(size, PAGE_SIZE);
83 ret = drm_gem_object_init(vgdev->ddev, &bo->gem_base, size); 83 ret = drm_gem_object_init(vgdev->ddev, &bo->gem_base, size);
84 if (ret != 0) 84 if (ret != 0) {
85 kfree(bo);
85 return ret; 86 return ret;
87 }
86 bo->dumb = false; 88 bo->dumb = false;
87 virtio_gpu_init_ttm_placement(bo, pinned); 89 virtio_gpu_init_ttm_placement(bo, pinned);
88 90