diff options
author | Mark Brown <broonie@kernel.org> | 2020-06-01 13:01:15 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2020-06-01 13:01:15 +0100 |
commit | 358c7c61fd04d324f83d7968daf8dd9a6ff86a9a (patch) | |
tree | 23c64d19f8d321a501f9e3567befc527c0fe1d55 /sound/soc/sof/intel/hda-loader.c | |
parent | a72ff08faf3d6b2a1c21c9b815bf02af44cc70ab (diff) | |
parent | a6b675a89e51a1cdad0481b809b7840d3f86e4b5 (diff) | |
download | linux-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.c | 11 |
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); |