diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-06 18:59:40 +0300 |
---|---|---|
committer | Gerd Hoffmann <kraxel@redhat.com> | 2017-04-07 14:29:17 +0300 |
commit | 385aee965b4e4c36551c362a334378d2985b722a (patch) | |
tree | 78e2ea33fc9a319d67b9f6dae5487a8c35529d5f /drivers/gpu | |
parent | e20c29aa722a90f3b8092b340362eabe488dbfc4 (diff) | |
download | linux-385aee965b4e4c36551c362a334378d2985b722a.tar.xz |
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
Diffstat (limited to 'drivers/gpu')
-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, return -ENOMEM; size = roundup(size, PAGE_SIZE); ret = drm_gem_object_init(vgdev->ddev, &bo->gem_base, size); - if (ret != 0) + if (ret != 0) { + kfree(bo); return ret; + } bo->dumb = false; virtio_gpu_init_ttm_placement(bo, pinned); |