diff --git a/sys/dev/drm/amd/amdgpu/gmc_v8_0.c b/sys/dev/drm/amd/amdgpu/gmc_v8_0.c --- a/sys/dev/drm/amd/amdgpu/gmc_v8_0.c +++ b/sys/dev/drm/amd/amdgpu/gmc_v8_0.c @@ -311,6 +311,8 @@ if (!adev->gmc.fw) return -EINVAL; + if (adev->gmc.fw->datasize < sizeof(*hdr)) + return -EINVAL; hdr = (const struct mc_firmware_header_v1_0 *)adev->gmc.fw->data; amdgpu_ucode_print_mc_hdr(&hdr->header);