drm/i915/ttm: Fix memory leaks
authorThomas Hellström <thomas.hellstrom@linux.intel.com>
Tue, 15 Jun 2021 12:24:08 +0000 (14:24 +0200)
committerMatthew Auld <matthew.auld@intel.com>
Wed, 16 Jun 2021 14:57:52 +0000 (15:57 +0100)
Fix two memory leaks introduced with the ttm backend.

Fixes: 213d50927763 ("drm/i915/ttm: Introduce a TTM i915 gem object backend")
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210615122408.32347-1-thomas.hellstrom@linux.intel.com
drivers/gpu/drm/i915/gem/i915_gem_ttm.c

index bf33724..cdf36d3 100644 (file)
@@ -119,6 +119,7 @@ static void i915_ttm_tt_destroy(struct ttm_device *bdev, struct ttm_tt *ttm)
        struct i915_ttm_tt *i915_tt = container_of(ttm, typeof(*i915_tt), ttm);
 
        ttm_tt_destroy_common(bdev, ttm);
+       ttm_tt_fini(ttm);
        kfree(i915_tt);
 }
 
@@ -214,6 +215,7 @@ static void i915_ttm_delete_mem_notify(struct ttm_buffer_object *bo)
 
        if (likely(obj)) {
                /* This releases all gem object bindings to the backend. */
+               i915_ttm_free_cached_io_st(obj);
                __i915_gem_free_object(obj);
        }
 }