[PATCH] drm/i915: Fix vm reference leak in mock_gem_device()

Wentao Liang posted 1 patch 1 week, 1 day ago
drivers/gpu/drm/i915/selftests/mock_gem_device.c | 5 +++++
1 file changed, 5 insertions(+)
[PATCH] drm/i915: Fix vm reference leak in mock_gem_device()
Posted by Wentao Liang 1 week, 1 day ago
mock_gem_device() takes a reference on the GGTT vm for gt->vm, but
neither mock_device_release() nor the setup error paths drop it, unlike
the real teardown where intel_gt_driver_release() releases gt->vm.
Drop the reference before mock_fini_ggtt() and on the error paths.

Fixes: cdeea858d8df ("drm/i915: Remove unused i915->ggtt")
Cc: stable@vger.kernel.org
Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>
---
 drivers/gpu/drm/i915/selftests/mock_gem_device.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/gpu/drm/i915/selftests/mock_gem_device.c b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
index 27dc0e40a8d7..12cd252d9250 100644
--- a/drivers/gpu/drm/i915/selftests/mock_gem_device.c
+++ b/drivers/gpu/drm/i915/selftests/mock_gem_device.c
@@ -71,6 +71,7 @@ static void mock_device_release(struct drm_device *dev)
 
 	i915_gem_drain_workqueue(i915);
 
+	i915_vm_put(fetch_and_zero(&to_gt(i915)->vm));
 	mock_fini_ggtt(to_gt(i915)->ggtt);
 	destroy_workqueue(i915->unordered_wq);
 	destroy_workqueue(i915->wq);
@@ -145,6 +146,7 @@ struct drm_i915_private *mock_gem_device(void)
 #endif
 	struct drm_i915_private *i915;
 	struct intel_display *display;
+	struct i915_address_space *vm;
 	struct pci_dev *pdev;
 	int ret;
 
@@ -263,6 +265,9 @@ struct drm_i915_private *mock_gem_device(void)
 err_drv:
 	intel_region_ttm_device_fini(i915);
 err_ttm:
+	vm = fetch_and_zero(&to_gt(i915)->vm);
+	if (vm)
+		i915_vm_put(vm);
 	intel_gt_driver_late_release_all(i915);
 	intel_memory_regions_driver_release(i915);
 	drm_mode_config_cleanup(&i915->drm);
-- 
2.34.1
Re: [PATCH] drm/i915: Fix vm reference leak in mock_gem_device()
Posted by Joonas Lahtinen 1 week ago
Quoting Wentao Liang (2026-09-16 20:19:35)
> mock_gem_device() takes a reference on the GGTT vm for gt->vm, but
> neither mock_device_release() nor the setup error paths drop it, unlike
> the real teardown where intel_gt_driver_release() releases gt->vm.
> Drop the reference before mock_fini_ggtt() and on the error paths.
> 
> Fixes: cdeea858d8df ("drm/i915: Remove unused i915->ggtt")
> Cc: stable@vger.kernel.org

We're not putting Fixes and definitely not Cc: stable for selftest
improvements.

> Signed-off-by: Wentao Liang <vulab@iscas.ac.cn>

You clearly did not try to address any of the issues per the surrounding
coding style or understand the severity before Cc stable, but just generated
some static code fixes and commit messages with LLM.

Looking at your history of spamming the LKML with 30+ patches per day
and not a single response for requests to fix things or add the
Assisted-by tag, don't really expect you or even your LLM to read this.
So this reply is more for documentation purposes.

Doesn't really inspire any confidence to merge anything or look at any
further of your multiple patches which you send separately and not in
series in the hopes of getting some merged even when pushback in others.

If I happen to be wrong, let me know.

Regards, Joonas