Skip to content

Commit 3c862a6

Browse files
ASoC: SOF: amd: validate SizeFWSigned before signed FW length on ACP7x
The ACP7.B/7.F ACPI signed path already reads SizeFWSigned from the image header into size_fw. Before adding ACP_IMAGE_HEADER_SIZE for SHA DMA, reject payload size zero or any size_fw with size_fw > fw_bin_size - ACP_IMAGE_HEADER_SIZE, so size_fw + ACP_IMAGE_HEADER_SIZE cannot exceed the supplied firmware buffer. Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
1 parent 1296f81 commit 3c862a6

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,13 @@ int acp_dsp_pre_fw_run(struct snd_sof_dev *sdev)
183183
}
184184
size_fw = get_unaligned_le32(adata->bin_buf +
185185
ACP_IMAGE_HDR_SIZE_FW_SIGNED_OFF);
186+
if (!size_fw ||
187+
size_fw > adata->fw_bin_size - ACP_IMAGE_HEADER_SIZE) {
188+
dev_err(sdev->dev,
189+
"Invalid signed firmware payload size %u (max %u)\n",
190+
size_fw, adata->fw_bin_size - ACP_IMAGE_HEADER_SIZE);
191+
return -EINVAL;
192+
}
186193
size_fw += ACP_IMAGE_HEADER_SIZE;
187194
} else {
188195
size_fw = adata->fw_bin_size;

0 commit comments

Comments
 (0)