In eb_lookup_vmas(), the return value of kmem_cache_alloc() is freed with kfree(). I think the expected paired function is kmem_cahce_free().
Signed-off-by: Xidong Wang wangxidong_97@163.com --- drivers/gpu/drm/i915/i915_gem_execbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c index 8c170db..0414228 100644 --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c @@ -728,7 +728,7 @@ static int eb_lookup_vmas(struct i915_execbuffer *eb)
err = radix_tree_insert(handles_vma, handle, vma); if (unlikely(err)) { - kfree(lut); + kmem_cache_free(eb->i915->luts, lut); goto err_obj; }
Quoting Xidong Wang (2018-04-04 08:37:54)
In eb_lookup_vmas(), the return value of kmem_cache_alloc() is freed with kfree(). I think the expected paired function is kmem_cahce_free().
Signed-off-by: Xidong Wang wangxidong_97@163.com
That is indeed what it should be doing,
Fixes: d1b48c1e7184 ("drm/i915: Replace execbuf vma ht with an idr") Cc: Chris Wilson chris@chris-wilson.co.uk Cc: Tvrtko Ursulin tvrtko.ursulin@intel.com Cc: stable@vger.kernel.org # v4.14+ Reviewed-by: Chris Wilson chris@chris-wilson.co.uk -Chris
Quoting Xidong Wang (2018-04-04 08:37:54)
In eb_lookup_vmas(), the return value of kmem_cache_alloc() is freed with kfree(). I think the expected paired function is kmem_cahce_free().
Signed-off-by: Xidong Wang wangxidong_97@163.com
Thank you for the fix; applied. -Chris
dri-devel@lists.freedesktop.org