summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/i915/i915_gem_stolen.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2012-11-15 15:32:30 +0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-12-01 02:44:05 +0400
commit42dcedd4f2e715dc0313e359c8288e6397843fff (patch)
treebb5f86097d2e7f5e855824e76fe51bec8e97e635 /drivers/gpu/drm/i915/i915_gem_stolen.c
parent8040513870399f1cb032cb8bc805df5042fedcdf (diff)
downloadlinux-42dcedd4f2e715dc0313e359c8288e6397843fff.tar.xz
drm/i915: Use a slab for object allocation
The primary purpose of this was to debug some use-after-free memory corruption that was causing an OOPS inside drm/i915. As it turned out the corruption was being caused elsewhere and i915.ko as a major user of many objects was being hit hardest. Indeed as we do frequent the generic kmalloc caches, dedicating one to ourselves (or at least naming one for us depending upon the core) aids debugging our own slab usage. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Jesse Barnes <jbarnes@virtuousgeek.org> Reviewed-by: Ben Widawsky <ben@bwidawsk.net> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_stolen.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_stolen.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_stolen.c b/drivers/gpu/drm/i915/i915_gem_stolen.c
index 7299d632663c..f817b0cac116 100644
--- a/drivers/gpu/drm/i915/i915_gem_stolen.c
+++ b/drivers/gpu/drm/i915/i915_gem_stolen.c
@@ -252,7 +252,7 @@ _i915_gem_object_create_stolen(struct drm_device *dev,
{
struct drm_i915_gem_object *obj;
- obj = kzalloc(sizeof(*obj), GFP_KERNEL);
+ obj = i915_gem_object_alloc(dev);
if (obj == NULL)
return NULL;
@@ -277,7 +277,7 @@ _i915_gem_object_create_stolen(struct drm_device *dev,
return obj;
cleanup:
- kfree(obj);
+ i915_gem_object_free(obj);
return NULL;
}