mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 14:41:22 -05:00
ASoC: codecs: fix out-of-bounds access on invalid clock config
get_coeff() returns –EINVAL when no table entry matches.
The driver then uses that value as an index into coeff_div[],
causing an OOB access.
To fix lets abort the hw_params call instead.
Fixes: de2b3119f9 ("ASoC: codecs: add support for ES8375")
Signed-off-by: Qasim Ijaz <qasdev00@gmail.com>
Link: https://patch.msgid.link/20250526191820.72577-1-qasdev00@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
@@ -319,6 +319,7 @@ static int es8375_hw_params(struct snd_pcm_substream *substream,
|
||||
coeff = get_coeff(es8375->vddd, dmic_enable, es8375->mclk_freq, params_rate(params));
|
||||
if (coeff < 0) {
|
||||
dev_warn(component->dev, "Clock coefficients do not match");
|
||||
return coeff;
|
||||
}
|
||||
regmap_write(es8375->regmap, ES8375_CLK_MGR4,
|
||||
coeff_div[coeff].Reg0x04);
|
||||
|
||||
Reference in New Issue
Block a user