[PATCH] drm/radeon: make -fstrict-flex-arrays=3 happy

Christian König ckoenig.leichtzumerken at gmail.com
Mon Apr 15 14:55:57 UTC 2024


Am 15.04.24 um 15:38 schrieb Alex Deucher:
> The driver parses a union where the layout up through the first
> array is the same, however, the array has different sizes
> depending on the elements in the union.  Be explicit to
> fix the UBSAN checker.
>
> Closes: https://gitlab.freedesktop.org/drm/amd/-/issues/3323
> Fixes: df8fc4e934c1 ("kbuild: Enable -fstrict-flex-arrays=3")
> Signed-off-by: Alex Deucher <alexander.deucher at amd.com>
> Cc: Kees Cook <keescook at chromium.org>

Acked-by: Christian König <christian.koenig at amd.com>

But I have a bad feeling messing with that old code.

Regards,
Christian.

> ---
>   drivers/gpu/drm/radeon/radeon_atombios.c | 8 ++++++--
>   1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
> index bb1f0a3371ab5..10793a433bf58 100644
> --- a/drivers/gpu/drm/radeon/radeon_atombios.c
> +++ b/drivers/gpu/drm/radeon/radeon_atombios.c
> @@ -923,8 +923,12 @@ bool radeon_get_atom_connector_info_from_supported_devices_table(struct
>   		max_device = ATOM_MAX_SUPPORTED_DEVICE_INFO;
>   
>   	for (i = 0; i < max_device; i++) {
> -		ATOM_CONNECTOR_INFO_I2C ci =
> -		    supported_devices->info.asConnInfo[i];
> +		ATOM_CONNECTOR_INFO_I2C ci;
> +
> +		if (frev > 1)
> +			ci = supported_devices->info_2d1.asConnInfo[i];
> +		else
> +			ci = supported_devices->info.asConnInfo[i];
>   
>   		bios_connectors[i].valid = false;
>   



More information about the amd-gfx mailing list