summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorJunrui Luo <moonafterrain@outlook.com>2026-09-15 15:39:11 +0800
committerDmitry Osipenko <dmitry.osipenko@collabora.com>2026-09-20 20:48:51 +0300
commit477bc3068fc3777b9d8ffd79e265b0dfdf2d3a6b (patch)
tree9de1028164f021ca9b28fba4c58f50b02a60c9f2 /drivers/gpu/drm
parent36570ef2244cc4d7563b1f0157bc0f032498638c (diff)
downloadlinux-477bc3068fc3777b9d8ffd79e265b0dfdf2d3a6b.tar.gz
linux-477bc3068fc3777b9d8ffd79e265b0dfdf2d3a6b.zip
drm/virtio: fix object leak in virtio_gpu_resource_create_ioctl()
virtio_gpu_resource_create_ioctl() calls drm_gem_object_release() on the drm_gem_handle_create() error path instead of dropping the reference it owns, so obj->funcs->free() never runs and the virtio_gpu_object, its pages and sg table, the resource id and the host-side resource are leaked. Use drm_gem_object_put() instead. Fixes: 62fb7a5e1096 ("virtio-gpu: add 3d/virgl support") Assisted-by: Claude:claude-opus-5 Signed-off-by: Junrui Luo <moonafterrain@outlook.com> Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com> Link: https://patch.msgid.link/20260915-fixes-v2-2-a0d799e4db66@outlook.com
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/virtio/virtgpu_ioctl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/virtio/virtgpu_ioctl.c b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
index 3d8e4ccdb7c1..d16f07abb266 100644
--- a/drivers/gpu/drm/virtio/virtgpu_ioctl.c
+++ b/drivers/gpu/drm/virtio/virtgpu_ioctl.c
@@ -185,7 +185,7 @@ static int virtio_gpu_resource_create_ioctl(struct drm_device *dev, void *data,
ret = drm_gem_handle_create(file, obj, &handle);
if (ret) {
- drm_gem_object_release(obj);
+ drm_gem_object_put(obj);
return ret;
}