Re: [PATCH AUTOSEL 6.6 21/40] drm/radeon: Fix UBSAN array-index-out-of-bounds for Radeon HD 5430

From: Alex Deucher
Date: Tue Nov 07 2023 - 08:38:20 EST


On Tue, Nov 7, 2023 at 7:20 AM Sasha Levin <sashal@xxxxxxxxxx> wrote:
>
> From: Mario Limonciello <mario.limonciello@xxxxxxx>
>
> [ Upstream commit c63079c61177ba1b17fa05c6875699a36924fe39 ]
>
> For pptable structs that use flexible array sizes, use flexible arrays.
>
> Suggested-by: Felix Held <felix.held@xxxxxxx>
> Link: https://gitlab.freedesktop.org/drm/amd/-/issues/2894
> Signed-off-by: Mario Limonciello <mario.limonciello@xxxxxxx>
> Acked-by: Alex Deucher <alexander.deucher@xxxxxxx>
> Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

FWIW, I don't think any of these UBSAN variable sized array changes
are really stable material. They are not really fixing an actual
issue just making UBSAN happy.

Alex


> ---
> drivers/gpu/drm/radeon/pptable.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/radeon/pptable.h b/drivers/gpu/drm/radeon/pptable.h
> index 4c2eec49dadc9..94947229888ba 100644
> --- a/drivers/gpu/drm/radeon/pptable.h
> +++ b/drivers/gpu/drm/radeon/pptable.h
> @@ -74,7 +74,7 @@ typedef struct _ATOM_PPLIB_THERMALCONTROLLER
> typedef struct _ATOM_PPLIB_STATE
> {
> UCHAR ucNonClockStateIndex;
> - UCHAR ucClockStateIndices[1]; // variable-sized
> + UCHAR ucClockStateIndices[]; // variable-sized
> } ATOM_PPLIB_STATE;
>
>
> --
> 2.42.0
>