mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-16 11:21:26 -04:00
ASoC: sti: Return errors from regmap_field_alloc()
When regmap_field_alloc() fails, it can return an error. Specifically,
it will return PTR_ERR(-ENOMEM) when the allocation returns a NULL
pointer. The code then uses these allocations with a simple NULL check:
if (player->clk_sel) {
// May dereference invalid pointer (-ENOMEM)
err = regmap_field_write(player->clk_sel, ...);
}
Ensure initialization fails by forwarding the errors from
regmap_field_alloc(), thus avoiding the use of the invalid pointers.
Fixes: 76c2145ded ("ASoC: sti: Add CPU DAI driver for playback")
Signed-off-by: Sander Vanheule <sander@svanheule.net>
Link: https://patch.msgid.link/20260220152634.480766-2-sander@svanheule.net
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
committed by
Mark Brown
parent
11439c4635
commit
272aabef50
@@ -1029,7 +1029,12 @@ static int uni_player_parse_dt_audio_glue(struct platform_device *pdev,
|
||||
}
|
||||
|
||||
player->clk_sel = regmap_field_alloc(regmap, regfield[0]);
|
||||
if (IS_ERR(player->clk_sel))
|
||||
return PTR_ERR(player->clk_sel);
|
||||
|
||||
player->valid_sel = regmap_field_alloc(regmap, regfield[1]);
|
||||
if (IS_ERR(player->valid_sel))
|
||||
return PTR_ERR(player->valid_sel);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user