summaryrefslogtreecommitdiffstats
path: root/sound/soc/sof
diff options
context:
space:
mode:
authorRichard Fitzgerald <rf@opensource.cirrus.com>2024-06-27 16:14:32 +0200
committerMark Brown <broonie@kernel.org>2024-07-01 15:10:25 +0200
commit2163aff6bebbb752edf73f79700f5e2095f3559e (patch)
treee70964abb6a9eec19308fc935c3888d766550b34 /sound/soc/sof
parentfirmware: cs_dsp: Validate payload length before processing block (diff)
downloadlinux-2163aff6bebbb752edf73f79700f5e2095f3559e.tar.xz
linux-2163aff6bebbb752edf73f79700f5e2095f3559e.zip
firmware: cs_dsp: Prevent buffer overrun when processing V2 alg headers
Check that all fields of a V2 algorithm header fit into the available firmware data buffer. The wmfw V2 format introduced variable-length strings in the algorithm block header. This means the overall header length is variable, and the position of most fields varies depending on the length of the string fields. Each field must be checked to ensure that it does not overflow the firmware data buffer. As this ia bugfix patch, the fixes avoid making any significant change to the existing code. This makes it easier to review and less likely to introduce new bugs. Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com> Fixes: f6bc909e7673 ("firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs") Link: https://patch.msgid.link/20240627141432.93056-5-rf@opensource.cirrus.com Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sof')
0 files changed, 0 insertions, 0 deletions