[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250918135627.3576836-1-lgs201920130244@gmail.com>
Date: Thu, 18 Sep 2025 21:56:27 +0800
From: Guangshuo Li <lgs201920130244@...il.com>
To: Cezary Rojewski <cezary.rojewski@...el.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Peter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.dev>,
Mark Brown <broonie@...nel.org>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Amadeusz Sławiński <amadeuszx.slawinski@...ux.intel.com>,
Piotr Maziarz <piotrx.maziarz@...ux.intel.com>,
Guangshuo Li <lgs201920130244@...il.com>,
linux-sound@...r.kernel.org,
linux-kernel@...r.kernel.org
Cc: stable@...r.kernel.org
Subject: [PATCH] ASoC: Intel: avs: Add check for kcalloc() when setting constraints
kcalloc() may fail. avs_path_set_constraint() writes to rlist[i],
clist[i], and slist[i] unconditionally, which can cause a NULL pointer
dereference under low-memory conditions.
Add checks for the three kcalloc() calls. If any allocation fails,
free any previously allocated lists and return -ENOMEM.
Fixes: f2f847461fb7 ("ASoC: Intel: avs: Constrain path based on BE capabilities")
Cc: stable@...r.kernel.org
Signed-off-by: Guangshuo Li <lgs201920130244@...il.com>
---
sound/soc/intel/avs/path.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/sound/soc/intel/avs/path.c b/sound/soc/intel/avs/path.c
index cafb8c6198be..cb641d37d565 100644
--- a/sound/soc/intel/avs/path.c
+++ b/sound/soc/intel/avs/path.c
@@ -135,6 +135,9 @@ int avs_path_set_constraint(struct avs_dev *adev, struct avs_tplg_path_template
clist = kcalloc(i, sizeof(clist), GFP_KERNEL);
slist = kcalloc(i, sizeof(slist), GFP_KERNEL);
+ if (!rlist || !clist || !slist)
+ return -ENOMEM;
+
i = 0;
list_for_each_entry(path_template, &template->path_list, node) {
struct avs_tplg_pipeline *pipeline_template;
--
2.43.0
Powered by blists - more mailing lists