summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXidong Wang <wangxidong_97@163.com>2018-04-04 10:38:24 +0100
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>2018-04-18 14:16:56 +0300
commitfcf1fadf4c65eea6c519c773d2d9901e8ad94f5f (patch)
tree2188a1d3289cc45b5d101a2cc95a3ee7032a643f
parent38057aa1639b74d5c1e0dc1ca7c22bc7a31de714 (diff)
downloadlinux-stable-fcf1fadf4c65eea6c519c773d2d9901e8ad94f5f.tar.gz
linux-stable-fcf1fadf4c65eea6c519c773d2d9901e8ad94f5f.tar.bz2
linux-stable-fcf1fadf4c65eea6c519c773d2d9901e8ad94f5f.zip
drm/i915: Do no use kfree() to free a kmem_cache_alloc() return value
Along the eb_lookup_vmas() error path, the return value from kmem_cache_alloc() was freed using kfree(). Fix it to use the proper kmem_cache_free() instead. Fixes: d1b48c1e7184 ("drm/i915: Replace execbuf vma ht with an idr") Signed-off-by: Xidong Wang <wangxidong_97@163.com> 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> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Link: https://patchwork.freedesktop.org/patch/msgid/20180404093824.9313-1-chris@chris-wilson.co.uk (cherry picked from commit 6be1187dbffa0027ea379c53f7ca0c782515c610) Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
-rw-r--r--drivers/gpu/drm/i915/i915_gem_execbuffer.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
index 8c170db8495d..0414228cd2b5 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;
}