[PATCH] ASoC: mediatek: mt8365: Add check for devm_kcalloc() in mt8365_afe_suspend()

Guangshuo Li posted 1 patch 1 week, 2 days ago
There is a newer version of this series
sound/soc/mediatek/mt8365/mt8365-afe-pcm.c | 4 ++++
1 file changed, 4 insertions(+)
[PATCH] ASoC: mediatek: mt8365: Add check for devm_kcalloc() in mt8365_afe_suspend()
Posted by Guangshuo Li 1 week, 2 days ago
devm_kcalloc() may fail. mt8365_afe_suspend() uses afe->reg_back_up
unconditionally after allocation and writes afe->reg_back_up[i], which
can lead to a NULL pointer dereference under low-memory conditions.

Add a NULL check and bail out with -ENOMEM, making sure to disable the
main clock via the existing error path to keep clock state balanced.

Fixes: e1991d102bc2 ("ASoC: mediatek: mt8365: Add the AFE driver support")
Cc: stable@vger.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@gmail.com>
---
 sound/soc/mediatek/mt8365/mt8365-afe-pcm.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/sound/soc/mediatek/mt8365/mt8365-afe-pcm.c b/sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
index 10793bbe9275..eaeb14e1fce9 100644
--- a/sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
+++ b/sound/soc/mediatek/mt8365/mt8365-afe-pcm.c
@@ -1979,6 +1979,10 @@ static int mt8365_afe_suspend(struct device *dev)
 		afe->reg_back_up =
 			devm_kcalloc(dev, afe->reg_back_up_list_num,
 				     sizeof(unsigned int), GFP_KERNEL);
+		if (!afe->reg_back_up) {
+			mt8365_afe_disable_main_clk(afe);
+			return -ENOMEM;
+		}
 
 	for (i = 0; i < afe->reg_back_up_list_num; i++)
 		regmap_read(regmap, afe->reg_back_up_list[i],
-- 
2.43.0
Re: [PATCH v?] ASoC: mediatek: mt8365: Add check for devm_kcalloc() in mt8365_afe_suspend()
Posted by Markus Elfring 1 week, 2 days ago
…
> Add a NULL check and bail out with -ENOMEM, making sure to disable the
> main clock via the existing error path to keep clock state balanced.

How do you think about to increase the application of scope-based resource management?


…
> ---
>  sound/soc/mediatek/mt8365/mt8365-afe-pcm.c | 4 ++++
…

Some contributors would appreciate patch version descriptions.
https://lore.kernel.org/all/?q=%22This+looks+like+a+new+version+of+a+previously+submitted+patch%22
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.17-rc7#n310

See also:
https://lore.kernel.org/linux-sound/20250918140758.3583830-1-lgs201920130244@gmail.com/

Regards,
Markus
Re: [PATCH v?] ASoC: mediatek: mt8365: Add check for devm_kcalloc() in mt8365_afe_suspend()
Posted by Mark Brown 1 week, 1 day ago
On Mon, Sep 22, 2025 at 05:35:35PM +0200, Markus Elfring wrote:
> …
> > Add a NULL check and bail out with -ENOMEM, making sure to disable the
> > main clock via the existing error path to keep clock state balanced.
> 
> How do you think about to increase the application of scope-based resource management?

Feel free to ignore Markus, he has a long history of sending
unhelpful review comments and continues to ignore repeated requests
to stop.
Re: [v?] ASoC: mediatek: mt8365: Add check for devm_kcalloc() in mt8365_afe_suspend()
Posted by Markus Elfring 1 week, 1 day ago
>> …
>>> Add a NULL check and bail out with -ENOMEM, making sure to disable the
>>> main clock via the existing error path to keep clock state balanced.
>>
>> How do you think about to increase the application of scope-based resource management?
> 
> Feel free to ignore Markus, he has a long history of sending
> unhelpful review comments and continues to ignore repeated requests
> to stop.

Can you take care for the mentioned development topic in more constructive ways?

Regards,
Markus