The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init
@ 2025-02-11 10:20 Charles Han
  2025-02-11 10:42 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL checks in zynqmp_audio_init() Markus Elfring
  2025-02-11 13:08 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Tomi Valkeinen
  0 siblings, 2 replies; 4+ messages in thread
From: Charles Han @ 2025-02-11 10:20 UTC (permalink / raw)
  To: laurent.pinchart, Markus.Elfring, tomi.valkeinen,
	maarten.lankhorst, mripard, tzimmermann, airlied, simona,
	michal.simek, vishal.sagar
  Cc: dri-devel, linux-arm-kernel, linux-kernel, Charles Han

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.

Signed-off-by: Charles Han <hanchunchao@inspur.com>
---
 drivers/gpu/drm/xlnx/zynqmp_dp_audio.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c b/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
index fa5f0ace6084..f07ff4eb3a6d 100644
--- a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
+++ b/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
@@ -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");
-- 
2.43.0


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL checks in zynqmp_audio_init()
  2025-02-11 10:20 [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Charles Han
@ 2025-02-11 10:42 ` Markus Elfring
  2025-02-11 13:08 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Tomi Valkeinen
  1 sibling, 0 replies; 4+ messages in thread
From: Markus Elfring @ 2025-02-11 10:42 UTC (permalink / raw)
  To: Charles Han, dri-devel, linux-arm-kernel
  Cc: LKML, David Airlie, Laurent Pinchart, Maarten Lankhorst,
	Maxime Ripard, Michal Simek, Simona Vetter, Thomas Zimmermann,
	Tomi Valkeinen, Vishal Sagar

…
> ---
>  drivers/gpu/drm/xlnx/zynqmp_dp_audio.c | 4 ++++
…

See also:
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.14-rc2#n310


>> I will read these documents carefully.

I would miss more desirable effects accordingly.

Regards,
Markus

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init
  2025-02-11 10:20 [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Charles Han
  2025-02-11 10:42 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL checks in zynqmp_audio_init() Markus Elfring
@ 2025-02-11 13:08 ` Tomi Valkeinen
  2025-02-11 13:20   ` Tomi Valkeinen
  1 sibling, 1 reply; 4+ messages in thread
From: Tomi Valkeinen @ 2025-02-11 13:08 UTC (permalink / raw)
  To: Charles Han, laurent.pinchart
  Cc: dri-devel, linux-arm-kernel, linux-kernel, Markus.Elfring,
	maarten.lankhorst, mripard, tzimmermann, airlied, simona,
	michal.simek, vishal.sagar

Hi,

On 11/02/2025 12:20, Charles Han wrote:
> 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.
> 
> Signed-off-by: Charles Han <hanchunchao@inspur.com>
> ---
>   drivers/gpu/drm/xlnx/zynqmp_dp_audio.c | 4 ++++
>   1 file changed, 4 insertions(+)
> 
> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c b/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
> index fa5f0ace6084..f07ff4eb3a6d 100644
> --- a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
> @@ -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");

Thanks, looks good to me. I'll apply with Laurent's RB, which he gave 
for v1.

  Tomi


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init
  2025-02-11 13:08 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Tomi Valkeinen
@ 2025-02-11 13:20   ` Tomi Valkeinen
  0 siblings, 0 replies; 4+ messages in thread
From: Tomi Valkeinen @ 2025-02-11 13:20 UTC (permalink / raw)
  To: Charles Han, laurent.pinchart
  Cc: dri-devel, linux-arm-kernel, linux-kernel, Markus.Elfring,
	maarten.lankhorst, mripard, tzimmermann, airlied, simona,
	michal.simek, vishal.sagar

Hi,

On 11/02/2025 15:08, Tomi Valkeinen wrote:
> Hi,
> 
> On 11/02/2025 12:20, Charles Han wrote:
>> 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.
>>
>> Signed-off-by: Charles Han <hanchunchao@inspur.com>
>> ---
>>   drivers/gpu/drm/xlnx/zynqmp_dp_audio.c | 4 ++++
>>   1 file changed, 4 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c b/drivers/gpu/drm/ 
>> xlnx/zynqmp_dp_audio.c
>> index fa5f0ace6084..f07ff4eb3a6d 100644
>> --- a/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
>> +++ b/drivers/gpu/drm/xlnx/zynqmp_dp_audio.c
>> @@ -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");
> 
> Thanks, looks good to me. I'll apply with Laurent's RB, which he gave 
> for v1.

Actually, looks like you dropped the Fixes tag that you had in the v1 
and v2. I will add it back.

  Tomi


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2025-02-11 13:20 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-11 10:20 [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Charles Han
2025-02-11 10:42 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL checks in zynqmp_audio_init() Markus Elfring
2025-02-11 13:08 ` [PATCH V3] drm: xlnx: zynqmp_dpsub: Add NULL check in zynqmp_audio_init Tomi Valkeinen
2025-02-11 13:20   ` Tomi Valkeinen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox