2021-12-20 10:15:56

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] usb: dwc3: qcom: Check for null irq pointer

The return value of platform_get_irq() needs to be checked.
To avoid use of null pointer in case that there is no irq.

Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
Signed-off-by: Jiasheng Jiang <[email protected]>
---
drivers/usb/dwc3/dwc3-qcom.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
index 49e6ca94486d..f04fb3f2fb85 100644
--- a/drivers/usb/dwc3/dwc3-qcom.c
+++ b/drivers/usb/dwc3/dwc3-qcom.c
@@ -614,6 +614,11 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
qcom->acpi_pdata->dwc3_core_base_size;

irq = platform_get_irq(pdev_irq, 0);
+ if (!irq) {
+ ret = -EINVAL;
+ goto out;
+ }
+
child_res[1].flags = IORESOURCE_IRQ;
child_res[1].start = child_res[1].end = irq;

--
2.25.1



2021-12-20 10:44:27

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Check for null irq pointer

On Mon, Dec 20, 2021 at 06:15:20PM +0800, Jiasheng Jiang wrote:
> The return value of platform_get_irq() needs to be checked.
> To avoid use of null pointer in case that there is no irq.
>
> Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 49e6ca94486d..f04fb3f2fb85 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -614,6 +614,11 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
> qcom->acpi_pdata->dwc3_core_base_size;
>
> irq = platform_get_irq(pdev_irq, 0);
> + if (!irq) {
> + ret = -EINVAL;

That is NOT the proper way to check the return value of this function
call.



2021-12-20 11:25:52

by Sergey Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Check for null irq pointer

On 20.12.2021 13:15, Jiasheng Jiang wrote:

> The return value of platform_get_irq() needs to be checked.
> To avoid use of null pointer

What null pointer, could you please clarify?

in case that there is no irq.
>
> Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
> Signed-off-by: Jiasheng Jiang <[email protected]>
> ---
> drivers/usb/dwc3/dwc3-qcom.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/usb/dwc3/dwc3-qcom.c b/drivers/usb/dwc3/dwc3-qcom.c
> index 49e6ca94486d..f04fb3f2fb85 100644
> --- a/drivers/usb/dwc3/dwc3-qcom.c
> +++ b/drivers/usb/dwc3/dwc3-qcom.c
> @@ -614,6 +614,11 @@ static int dwc3_qcom_acpi_register_core(struct platform_device *pdev)
> qcom->acpi_pdata->dwc3_core_base_size;
>
> irq = platform_get_irq(pdev_irq, 0);
> + if (!irq) {

This is totally wrong! That function returns negative error codes in case
of failure.

> + ret = -EINVAL;
> + goto out;
> + }
> +
> child_res[1].flags = IORESOURCE_IRQ;
> child_res[1].start = child_res[1].end = irq;

MBR, Sergey

2021-12-20 11:48:23

by Sergey Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Check for null irq pointer

On 20.12.2021 14:25, Sergey Shtylyov wrote:

>> The return value of platform_get_irq() needs to be checked.
>> To avoid use of null pointer
>
>   What null pointer, could you please clarify?
>
>> in case that there is no irq.
>>
>> Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
>> Signed-off-by: Jiasheng Jiang <[email protected]>

This has already been addressed by this (yet unmerged) patch:

https://marc.info/?l=linux-usb&m=162854066430255

MBR, Sergey

2021-12-20 12:14:41

by Greg Kroah-Hartman

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Check for null irq pointer

On Mon, Dec 20, 2021 at 02:48:12PM +0300, Sergey Shtylyov wrote:
> On 20.12.2021 14:25, Sergey Shtylyov wrote:
>
> > > The return value of platform_get_irq() needs to be checked.
> > > To avoid use of null pointer
> >
> > ? What null pointer, could you please clarify?
> >
> > > in case that there is no irq.
> > >
> > > Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
> > > Signed-off-by: Jiasheng Jiang <[email protected]>
>
> This has already been addressed by this (yet unmerged) patch:
>
> https://marc.info/?l=linux-usb&m=162854066430255

Why not wait until that patch is actually merged? Otherwise all of this
work is moot.

greg k-h

2021-12-20 12:22:58

by Sergey Shtylyov

[permalink] [raw]
Subject: Re: [PATCH] usb: dwc3: qcom: Check for null irq pointer

On 20.12.2021 15:14, Greg KH wrote:

[...]
>>>> The return value of platform_get_irq() needs to be checked.
>>>> To avoid use of null pointer
>>>
>>>   What null pointer, could you please clarify?
>>>
>>>> in case that there is no irq.
>>>>
>>>> Fixes: 2bc02355f8ba ("usb: dwc3: qcom: Add support for booting with ACPI")
>>>> Signed-off-by: Jiasheng Jiang <[email protected]>
>>
>> This has already been addressed by this (yet unmerged) patch:
>>
>> https://marc.info/?l=linux-usb&m=162854066430255

> Why not wait until that patch is actually merged? Otherwise all of this
> work is moot.

Wait, it has been merged back in August. Then this patch is just
outdated... :-)

> greg k-h

MBR, Sergey