[patch] drm/gma500: double free in psbfb_create()
Dan Carpenter
dan.carpenter at oracle.com
Thu Mar 19 03:17:04 PDT 2015
The psb_gtt_free_range() frees "backing" so calling it twice is a double
free bug. I have fixed this by removing the first call.
Fixes: 4d8d096e9ae8 ('gma500: introduce the framebuffer support code')
Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
diff --git a/drivers/gpu/drm/gma500/framebuffer.c b/drivers/gpu/drm/gma500/framebuffer.c
index 2d42ce6..89d5646 100644
--- a/drivers/gpu/drm/gma500/framebuffer.c
+++ b/drivers/gpu/drm/gma500/framebuffer.c
@@ -479,9 +479,7 @@ static int psbfb_create(struct psb_fbdev *fbdev,
mutex_unlock(&dev->struct_mutex);
return 0;
out_unref:
- if (backing->stolen)
- psb_gtt_free_range(dev, backing);
- else
+ if (!backing->stolen)
drm_gem_object_unreference(&backing->gem);
out_err1:
mutex_unlock(&dev->struct_mutex);
More information about the dri-devel
mailing list