]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init
authorCharles Han <hanchunchao@inspur.com>
Tue, 11 Feb 2025 10:20:49 +0000 (18:20 +0800)
committerTomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Tue, 11 Feb 2025 13:20:26 +0000 (15:20 +0200)
devm_kasprintf() calls can return null pointers on failure.
But some return values were not checked in zynqmp_audio_init().

Add NULL check in zynqmp_audio_init(), avoid referencing null
pointers in the subsequent code.

Fixes: 3ec5c1579305 ("drm: xlnx: zynqmp_dpsub: Add DP audio support")
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Charles Han <hanchunchao@inspur.com>
Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250211102049.6468-1-hanchunchao@inspur.com
drivers/gpu/drm/xlnx/zynqmp_dp_audio.c

index fa5f0ace6084289eadacbdbac90deaf5d8d3e63e..f07ff4eb3a6de7aca0442fa4750c0b561b6c9742 100644 (file)
@@ -323,12 +323,16 @@ int zynqmp_audio_init(struct zynqmp_dpsub *dpsub)
 
        audio->dai_name = devm_kasprintf(dev, GFP_KERNEL,
                                         "%s-dai", dev_name(dev));
+       if (!audio->dai_name)
+               return -ENOMEM;
 
        for (unsigned int i = 0; i < ZYNQMP_NUM_PCMS; ++i) {
                audio->link_names[i] = devm_kasprintf(dev, GFP_KERNEL,
                                                      "%s-dp-%u", dev_name(dev), i);
                audio->pcm_names[i] = devm_kasprintf(dev, GFP_KERNEL,
                                                     "%s-pcm-%u", dev_name(dev), i);
+               if (!audio->link_names[i] || !audio->pcm_names[i])
+                       return -ENOMEM;
        }
 
        audio->base = devm_platform_ioremap_resource_byname(pdev, "aud");