diff options
| author | Ravi Hothi <ravi.hothi@oss.qualcomm.com> | 2026-10-23 18:13:10 +0100 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-10-26 20:04:22 +0000 |
| commit | e21fb64a8c4aecae31ec63f994423ac944705c3e (patch) | |
| tree | 0eca2abbb41e75279d49da4f908dbc39596fd405 /scripts/Makefile.thinlto | |
| parent | e0b17f84f6e3fa1201b8e2857094023c42ce5636 (diff) | |
| download | linux-e21fb64a8c4aecae31ec63f994423ac944705c3e.tar.gz linux-e21fb64a8c4aecae31ec63f994423ac944705c3e.zip | |
ASoC: qcom: audioreach: fix module cfg blob size handling
audioreach_get_module_priv_data() passes mod_array->size, a byte count,
as the element count of the __le32 data[] flex array. The allocation and
the copy are four times too large, and the memcpy() can read past the end
of the topology firmware buffer. The size is also never checked against
the private data it must lie within, and a zero size makes the loop spin
forever.
Convert the size to a word count, bound the blob by the remaining private
data and reject a zero size. Also check the returned pointer before
storing it in mod->data, as an error pointer there is dereferenced when
the graph is opened.
Fixes: c7ed4c2debfd ("ASoC: qcom: audioreach: add support for static calibration")
Cc: stable@vger.kernel.org
Signed-off-by: Ravi Hothi <ravi.hothi@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com>
Link: https://patch.msgid.link/20261023171316.819857-2-srinivas.kandagatla@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions
