[PATCH v2] drm/panfrost: Document base field location constraint in panfrost_gem_object

Steven Price steven.price at arm.com
Fri Nov 29 14:13:33 UTC 2019


On 29/11/2019 13:56, Boris Brezillon wrote:
> I've spent hours chasing a memory corruption that was caused by
> insertion of an extra field field before ->base. Let's document the
> fact that base has to be the first field in panfrost_gem_object.
> 
> Signed-off-by: Boris Brezillon <boris.brezillon at collabora.com>

This seems to be a limitation imposed by the gem_create_object()
callback - e.g. it's assumed that kfree() can be directly called on the
result. Useful to have the documentation though.

Reviewed-by: Steven Price <steven.price at arm.com>

Steve

> ---
> Changes in v2:
> * Use the proper prefix in the subject line
> ---
>  drivers/gpu/drm/panfrost/panfrost_gem.h | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gem.h b/drivers/gpu/drm/panfrost/panfrost_gem.h
> index b3517ff9630c..d480261fc177 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gem.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_gem.h
> @@ -10,6 +10,10 @@
>  struct panfrost_mmu;
>  
>  struct panfrost_gem_object {
> +	/*
> +	 * Must be the first element because we're using some of the
> +	 * drm_gem_shmem helpers.
> +	 */
>  	struct drm_gem_shmem_object base;
>  	struct sg_table *sgts;
>  
> 



More information about the dri-devel mailing list