aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Alex Deucher <alexander.deucher@amd.com> 2024-04-14 22:06:08 -0400
committerGravatar Alex Deucher <alexander.deucher@amd.com> 2024-04-17 11:50:43 -0400
commit0ba753bc7e79e49556e81b0d09b2de1aa558553b (patch)
tree14ca29432841e2af2b4ebdd6e3e700c427cb8af8
parentdrm/amdgpu: fix visible VRAM handling during faults (diff)
downloadlinux-0ba753bc7e79e49556e81b0d09b2de1aa558553b.tar.gz
linux-0ba753bc7e79e49556e81b0d09b2de1aa558553b.tar.bz2
linux-0ba753bc7e79e49556e81b0d09b2de1aa558553b.zip
drm/radeon: make -fstrict-flex-arrays=3 happy
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") Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Kees Cook <keescook@chromium.org> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: Kees Cook <keescook@chromium.org>
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index bb1f0a3371ab..10793a433bf5 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;