[PATCH] drm/gma500: fix double freeing

Sudip Mukherjee sudipm.mukherjee at gmail.com
Tue Sep 29 23:12:41 PDT 2015


On Tue, Sep 29, 2015 at 03:20:35PM +0200, Patrik Jakobsson wrote:
> On Thu, Sep 24, 2015 at 5:57 PM, Sudip Mukherjee
> <sudipm.mukherjee at gmail.com> wrote:
> > On Wed, Sep 09, 2015 at 06:20:40PM +0530, Sudip Mukherjee wrote:
> >> If backing->stolen is true then we were freeing backing by calling
> >> psb_gtt_free_range() but we called it again after unlocking the mutex.
> >> Lets make it NULL after freeing in psb_gtt_free_range() and check for
> >> NULL before calling the function for the second time.
> >>
> >> Signed-off-by: Sudip Mukherjee <sudip at vectorindia.org>
> >> ---
> > Hi Patrik,
> > A gentle ping.
> >
> > regards
> > sudip
> 
> Hi, sorry for the late reply.
> 
> Why are we freeing the range twice in the first case?
I think,
if backing->stolen is true then backing is released using
psb_gtt_free_range() but if backing->stolen is false then the gem object
is freed but the backing is not yet freed. To free that backing
psb_gtt_free_range() has been called second time. My patch tried to fix
the possibility of backing->stolen being true and backing being freed 2
times.

regards
sudip



More information about the dri-devel mailing list