ASoC: qcom: Fix NULL Dereference in asoc_qcom_lpass_cpu_platform_probe()
authorZichen Xie <zichenxie0106@gmail.com>
Sun, 6 Oct 2024 20:57:37 +0000 (15:57 -0500)
committerMark Brown <broonie@kernel.org>
Mon, 7 Oct 2024 14:35:34 +0000 (15:35 +0100)
A devm_kzalloc() in asoc_qcom_lpass_cpu_platform_probe() could
possibly return NULL pointer. NULL Pointer Dereference may be
triggerred without addtional check.
Add a NULL check for the returned pointer.

Fixes: b5022a36d28f ("ASoC: qcom: lpass: Use regmap_field for i2sctl and dmactl registers")
Cc: stable@vger.kernel.org
Signed-off-by: Zichen Xie <zichenxie0106@gmail.com>
Link: https://patch.msgid.link/20241006205737.8829-1-zichenxie0106@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/qcom/lpass-cpu.c

index 5a47f661e0c6f79599aba9361bfed99f1bd93f90..242bc16da36daf9d1a8d28ac85b77abdea21b4f3 100644 (file)
@@ -1242,6 +1242,8 @@ int asoc_qcom_lpass_cpu_platform_probe(struct platform_device *pdev)
        /* Allocation for i2sctl regmap fields */
        drvdata->i2sctl = devm_kzalloc(&pdev->dev, sizeof(struct lpaif_i2sctl),
                                        GFP_KERNEL);
+       if (!drvdata->i2sctl)
+               return -ENOMEM;
 
        /* Initialize bitfields for dai I2SCTL register */
        ret = lpass_cpu_init_i2sctl_bitfields(dev, drvdata->i2sctl,