DragonFlyBSD Kernel Audit
DF-1457 / fix.diff
← back to finding ↓ download raw
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);