Skip to content

Commit 377f833

Browse files
xndcnkraxel
authored andcommitted
drm/virtio: fix possible leak/unlock virtio_gpu_object_array
virtio_gpu_object array is not freed or unlocked in some failed cases. Signed-off-by: xndcn <[email protected]> Link: http://patchwork.freedesktop.org/patch/msgid/[email protected] Signed-off-by: Gerd Hoffmann <[email protected]>
1 parent edf2085 commit 377f833

File tree

2 files changed

+2
-1
lines changed

2 files changed

+2
-1
lines changed

drivers/gpu/drm/virtio/virtgpu_ioctl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ static int virtio_gpu_execbuffer_ioctl(struct drm_device *dev, void *data,
174174
if (!sync_file) {
175175
dma_fence_put(&out_fence->f);
176176
ret = -ENOMEM;
177-
goto out_memdup;
177+
goto out_unresv;
178178
}
179179

180180
exbuf->fence_fd = out_fence_fd;

drivers/gpu/drm/virtio/virtgpu_object.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,7 @@ int virtio_gpu_object_create(struct virtio_gpu_device *vgdev,
248248

249249
ret = virtio_gpu_object_shmem_init(vgdev, bo, &ents, &nents);
250250
if (ret != 0) {
251+
virtio_gpu_array_put_free(objs);
251252
virtio_gpu_free_object(&shmem_obj->base);
252253
return ret;
253254
}

0 commit comments

Comments
 (0)