]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/commitdiff
drm/virtio: don't leak bo on drm_gem_object_init failure
authorGerd Hoffmann <kraxel@redhat.com>
Wed, 12 Jul 2017 10:35:52 +0000 (12:35 +0200)
committerThadeu Lima de Souza Cascardo <cascardo@canonical.com>
Fri, 14 Jul 2017 14:43:48 +0000 (11:43 -0300)
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
CVE-2017-10810

(cherry picked from commit 385aee965b4e4c36551c362a334378d2985b722a)
Signed-off-by: Stefan Bader <stefan.bader@canonical.com>
Acked-by: Seth Forshee <seth.forshee@canonical.com>
Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@canonical.com>
drivers/gpu/drm/virtio/virtgpu_object.c

index 1483daebe057d099dcaf05cfe964b241efec12f9..6f66b7347cd0d68c1257170e3521bbdd100bbaea 100644 (file)
@@ -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);