DragonFlyBSD Kernel Audit
DF-1553 / fix.diff
← back to finding ↓ download raw
--- a/sys/dev/drm/amd/amdgpu/cik_sdma.c
+++ b/sys/dev/drm/amd/amdgpu/cik_sdma.c
@@ -548,6 +548,8 @@
 
 	for (i = 0; i < adev->sdma.num_instances; i++) {
 		if (!adev->sdma.instance[i].fw)
+			return -EINVAL;
+		if (adev->sdma.instance[i].fw->datasize < sizeof(*hdr))
 			return -EINVAL;
 		hdr = (const struct sdma_firmware_header_v1_0 *)adev->sdma.instance[i].fw->data;
 		amdgpu_ucode_print_sdma_hdr(&hdr->header);