Re: [PATCH 1/2] drm/udl: fix a NULL pointer reference in udl_gem_free_object().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Aug 30, 2016 at 02:50:20PM -0700, Haixia Shi wrote:
> Previously this function had a NULL pointer check for gem->map_list.map, but
> that line was refactored after commit 0de23977cfeb5b357ec884ba15417ae118ff9e9bb
> ("drm/gem: convert to new unified vma manager").
> 
> After the refactor it is still necessasry to check that the vma manager is not
> NULL because udl_gem_free_object() may come in after the vma manager is destroyed.

When/how does this happen? Backtrace? Destroying the vma manager before
the objects are all gone sounds a bit fishy.
-Daniel

> 
> Signed-off-by: Haixia Shi <hshi@xxxxxxxxxxxx>
> Reviewed-by: Stéphane Marchesin <marcheu@xxxxxxxxxxxx>
> ---
>  drivers/gpu/drm/udl/udl_gem.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c
> index 818e707..72e1bd4 100644
> --- a/drivers/gpu/drm/udl/udl_gem.c
> +++ b/drivers/gpu/drm/udl/udl_gem.c
> @@ -204,7 +204,8 @@ void udl_gem_free_object(struct drm_gem_object *gem_obj)
>  	if (obj->pages)
>  		udl_gem_put_pages(obj);
>  
> -	drm_gem_free_mmap_offset(gem_obj);
> +	if (gem_obj->dev->vma_offset_manager)
> +		drm_gem_free_mmap_offset(gem_obj);
>  }
>  
>  /* the dumb interface doesn't work with the GEM straight MMAP
> -- 
> 2.8.0.rc3.226.g39d4020
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux