[PATCH v3] ASoC: SOF: topology: Fix null pointer dereference

Julien Massot posted 1 patch 9 months, 2 weeks ago
There is a newer version of this series
sound/soc/sof/topology.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH v3] ASoC: SOF: topology: Fix null pointer dereference
Posted by Julien Massot 9 months, 2 weeks ago
The "get_function_tplg_files" function is only applicable to
ACPI-based devices (sof_pdata->machine and sof_pdata->not of_machine).
Skip this check for OF-based devices to avoid a NULL pointer
dereference in snd_sof_load_topology().

Fixes: 6d5997c412cc ("ASoC: SOF: topology: load multiple topologies")
Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
Signed-off-by: Julien Massot <julien.massot@collabora.com>
---
Changes in v3:
- More detailled commit message
- Link to v2: https://lore.kernel.org/r/20250428-fixup-of-sof-topology-v2-1-7966515a81b7@collabora.com

Changes in v2:
- Better commit message as suggested
- Link to v1: https://lore.kernel.org/r/20250428-fixup-of-sof-topology-v1-1-dc14376da258@collabora.com
---
 sound/soc/sof/topology.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/sof/topology.c b/sound/soc/sof/topology.c
index e19ba94f2c80a43731b90351bacfde2720db50ed..5d3ee3a86392c5a3fbfd05f83acc99b102c8cf61 100644
--- a/sound/soc/sof/topology.c
+++ b/sound/soc/sof/topology.c
@@ -2481,7 +2481,7 @@ int snd_sof_load_topology(struct snd_soc_component *scomp, const char *file)
 	if (!tplg_files)
 		return -ENOMEM;
 
-	if (sof_pdata->machine->get_function_tplg_files) {
+	if (sof_pdata->machine && sof_pdata->machine->get_function_tplg_files) {
 		tplg_cnt = sof_pdata->machine->get_function_tplg_files(scomp->card,
 								       sof_pdata->machine,
 								       tplg_filename_prefix,

---
base-commit: 80626102e730787e2cdcab0e36d267bedcd1a63e
change-id: 20250428-fixup-of-sof-topology-50886568a785

Best regards,
-- 
Julien Massot <julien.massot@collabora.com>
Re: [PATCH v3] ASoC: SOF: topology: Fix null pointer dereference
Posted by Cristian Ciocaltea 9 months, 2 weeks ago
On 4/29/25 10:07 AM, Julien Massot wrote:
> The "get_function_tplg_files" function is only applicable to
> ACPI-based devices (sof_pdata->machine and sof_pdata->not of_machine).

s/not //

> Skip this check for OF-based devices to avoid a NULL pointer
> dereference in snd_sof_load_topology().
> 
> Fixes: 6d5997c412cc ("ASoC: SOF: topology: load multiple topologies")
> Reviewed-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
> Signed-off-by: Julien Massot <julien.massot@collabora.com>
> ---
> Changes in v3:
> - More detailled commit message
> - Link to v2: https://lore.kernel.org/r/20250428-fixup-of-sof-topology-v2-1-7966515a81b7@collabora.com
> 
> Changes in v2:
> - Better commit message as suggested
> - Link to v1: https://lore.kernel.org/r/20250428-fixup-of-sof-topology-v1-1-dc14376da258@collabora.com
> ---
>  sound/soc/sof/topology.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

With the above fixed:

Reviewed-by: Cristian Ciocaltea <cristian.ciocaltea@collabora.com>