summaryrefslogtreecommitdiffstats
path: root/sound/soc/sof/intel/hda-loader.c
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2020-06-01 13:01:15 +0100
committerMark Brown <broonie@kernel.org>2020-06-01 13:01:15 +0100
commit358c7c61fd04d324f83d7968daf8dd9a6ff86a9a (patch)
tree23c64d19f8d321a501f9e3567befc527c0fe1d55 /sound/soc/sof/intel/hda-loader.c
parenta72ff08faf3d6b2a1c21c9b815bf02af44cc70ab (diff)
parenta6b675a89e51a1cdad0481b809b7840d3f86e4b5 (diff)
downloadlinux-stable-358c7c61fd04d324f83d7968daf8dd9a6ff86a9a.tar.gz
linux-stable-358c7c61fd04d324f83d7968daf8dd9a6ff86a9a.tar.bz2
linux-stable-358c7c61fd04d324f83d7968daf8dd9a6ff86a9a.zip
Merge remote-tracking branch 'asoc/for-5.8' into asoc-linus
Diffstat (limited to 'sound/soc/sof/intel/hda-loader.c')
-rw-r--r--sound/soc/sof/intel/hda-loader.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/sound/soc/sof/intel/hda-loader.c b/sound/soc/sof/intel/hda-loader.c
index e1550ccd0a49..441d05cda604 100644
--- a/sound/soc/sof/intel/hda-loader.c
+++ b/sound/soc/sof/intel/hda-loader.c
@@ -1,4 +1,4 @@
-// SPDX-License-Identifier: (GPL-2.0 OR BSD-3-Clause)
+// SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
//
// This file is provided under a dual BSD/GPLv2 license. When using or
// redistributing this file, you may do so under either license.
@@ -293,8 +293,13 @@ int hda_dsp_cl_boot_firmware(struct snd_sof_dev *sdev)
chip_info = desc->chip_info;
- stripped_firmware.data = plat_data->fw->data;
- stripped_firmware.size = plat_data->fw->size;
+ if (plat_data->fw->size <= plat_data->fw_offset) {
+ dev_err(sdev->dev, "error: firmware size must be greater than firmware offset\n");
+ return -EINVAL;
+ }
+
+ stripped_firmware.data = plat_data->fw->data + plat_data->fw_offset;
+ stripped_firmware.size = plat_data->fw->size - plat_data->fw_offset;
/* init for booting wait */
init_waitqueue_head(&sdev->boot_wait);