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

Ville Syrjälä ville.syrjala at linux.intel.com
Fri Nov 29 14:28:57 UTC 2019


On Fri, Nov 29, 2019 at 02:56:14PM +0100, 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>
> ---
> 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.
> +	 */

An accompanying BUILD_BUG_ON() would be a good way to catch anyone
ignoring the comment.

>  	struct drm_gem_shmem_object base;
>  	struct sg_table *sgts;
>  
> -- 
> 2.23.0
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Ville Syrjälä
Intel


More information about the dri-devel mailing list