[PATCH 1/6] Revert "drm: Use a flexible array member for blob property data"

Sharma, Shashank shashank.sharma at intel.com
Thu Mar 1 08:49:28 UTC 2018


Regards

Shashank


On 2/24/2018 12:55 AM, Ville Syrjala wrote:
> From: Ville Syrjälä <ville.syrjala at linux.intel.com>
>
> Using a flexible array for the blob data was a mistake by me. It
> forces all users of the blob data to cast blob->data to something
> else. void* is clearly superior so let's go back to the original
> scheme.
>
> Not a clean revert as the code has moved.
>
> This reverts commit d63f5e6bf6f2a1573ea39c9937cdf5ab0b3a4b77.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
> ---
>   drivers/gpu/drm/drm_property.c | 1 +
>   include/drm/drm_property.h     | 2 +-
>   2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/drm_property.c b/drivers/gpu/drm/drm_property.c
> index bae50e6b819d..0f6620fea3de 100644
> --- a/drivers/gpu/drm/drm_property.c
> +++ b/drivers/gpu/drm/drm_property.c
> @@ -550,6 +550,7 @@ drm_property_create_blob(struct drm_device *dev, size_t length,
>   	/* This must be explicitly initialised, so we can safely call list_del
>   	 * on it in the removal handler, even if it isn't in a file list. */
>   	INIT_LIST_HEAD(&blob->head_file);
> +	blob->data = (void *)blob + sizeof(*blob);
>   	blob->length = length;
>   	blob->dev = dev;
>   
> diff --git a/include/drm/drm_property.h b/include/drm/drm_property.h
> index 8a522b4bed40..265fd1f2e112 100644
> --- a/include/drm/drm_property.h
> +++ b/include/drm/drm_property.h
> @@ -209,7 +209,7 @@ struct drm_property_blob {
>   	struct list_head head_global;
>   	struct list_head head_file;
>   	size_t length;
> -	unsigned char data[];
> +	void *data;
>   };
>   
>   struct drm_prop_enum_list {
Reviewed-by: Shashank Sharma <shashank.sharma at intel.com>

Regards
Shashank


More information about the dri-devel mailing list