diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-06 11:59:40 -0400 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-07 07:29:17 -0400 |
commit | 385aee965b4e4c36551c362a334378d2985b722a (patch) | |
tree | 78e2ea33fc9a319d67b9f6dae5487a8c35529d5f | |
parent | e20c29aa722a90f3b8092b340362eabe488dbfc4 (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.c | 4 |
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 | ||