Skip to content

Commit a4de99f

Browse files
ASoC: SOF: amd: validate signed firmware image size for ACP7x
Reject ACP7.B/7.F signed firmware loads when the image is not large enough to contain the ACP header before reading SizeFWSigned from a fixed offset. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
1 parent f439804 commit a4de99f

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

sound/soc/sof/amd/acp-loader.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,11 @@ int acp_dsp_pre_fw_run(struct snd_sof_dev *sdev)
176176

177177
if (adata->pci_rev >= ACP7B_PCI_ID) {
178178
if (adata->acp_sof_signed_firmware_image) {
179+
if (adata->fw_bin_size <= ACP_IMAGE_HEADER_SIZE) {
180+
dev_err(sdev->dev, "Invalid signed firmware size %u\n",
181+
adata->fw_bin_size);
182+
return -EINVAL;
183+
}
179184
size_fw = get_unaligned_le32(adata->bin_buf +
180185
ACP_IMAGE_HDR_SIZE_FW_SIGNED_OFF);
181186
size_fw += ACP_IMAGE_HEADER_SIZE;

0 commit comments

Comments
 (0)