2020-01-09 15:54:43

by Colin King

[permalink] [raw]
Subject: [PATCH][next][V2] dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced

From: Colin Ian King <[email protected]>

Currently when the call to dev_get_platdata returns null the driver issues
a warning and then later dereferences the null pointer. Avoid this issue
by returning -ENODEV errror rather when the platform data is null and
change the warning to an appropriate error message.

Addresses-Coverity: ("Dereference after null check")
Fixes: 211010aeb097 ("dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use it")
Signed-off-by: Colin Ian King <[email protected]>
---

V2: return -ENODEV and change warning to an error message as suggested by
Peter Ujfalusi.
---
drivers/dma/ti/omap-dma.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c
index fc8f7b2fc7b3..a93515015dce 100644
--- a/drivers/dma/ti/omap-dma.c
+++ b/drivers/dma/ti/omap-dma.c
@@ -1658,8 +1658,10 @@ static int omap_dma_probe(struct platform_device *pdev)
if (conf) {
od->cfg = conf;
od->plat = dev_get_platdata(&pdev->dev);
- if (!od->plat)
- dev_warn(&pdev->dev, "no sdma auxdata needed?\n");
+ if (!od->plat) {
+ dev_err(&pdev->dev, "omap_system_dma_plat_info is missing");
+ return -ENODEV;
+ }
} else {
od->cfg = &default_cfg;

--
2.24.0


2020-01-09 20:12:02

by Peter Ujfalusi

[permalink] [raw]
Subject: Re: [PATCH][next][V2] dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced

Colin,

On 09/01/2020 15.19, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently when the call to dev_get_platdata returns null the driver issues
> a warning and then later dereferences the null pointer. Avoid this issue
> by returning -ENODEV errror rather when the platform data is null and
> change the warning to an appropriate error message.

Thank you for the update!

Acked-by: Peter Ujfalusi <[email protected]>

> Addresses-Coverity: ("Dereference after null check")
> Fixes: 211010aeb097 ("dmaengine: ti: omap-dma: Pass sdma auxdata to driver and use it")
> Signed-off-by: Colin Ian King <[email protected]>
> ---
>
> V2: return -ENODEV and change warning to an error message as suggested by
> Peter Ujfalusi.
> ---
> drivers/dma/ti/omap-dma.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/dma/ti/omap-dma.c b/drivers/dma/ti/omap-dma.c
> index fc8f7b2fc7b3..a93515015dce 100644
> --- a/drivers/dma/ti/omap-dma.c
> +++ b/drivers/dma/ti/omap-dma.c
> @@ -1658,8 +1658,10 @@ static int omap_dma_probe(struct platform_device *pdev)
> if (conf) {
> od->cfg = conf;
> od->plat = dev_get_platdata(&pdev->dev);
> - if (!od->plat)
> - dev_warn(&pdev->dev, "no sdma auxdata needed?\n");
> + if (!od->plat) {
> + dev_err(&pdev->dev, "omap_system_dma_plat_info is missing");
> + return -ENODEV;
> + }
> } else {
> od->cfg = &default_cfg;
>
>

- Péter

Texas Instruments Finland Oy, Porkkalankatu 22, 00180 Helsinki.
Y-tunnus/Business ID: 0615521-4. Kotipaikka/Domicile: Helsinki

2020-01-10 07:47:18

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH][next][V2] dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced

On 09-01-20, 13:19, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> Currently when the call to dev_get_platdata returns null the driver issues
> a warning and then later dereferences the null pointer. Avoid this issue
> by returning -ENODEV errror rather when the platform data is null and

s/errror/error :) never thought would correct Colin on spelling :)

With the typo fixes:

Acked-by: Vinod Koul <[email protected]>

--
~Vinod

2020-01-10 09:24:15

by Colin King

[permalink] [raw]
Subject: Re: [PATCH][next][V2] dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced

On 10/01/2020 07:46, Vinod Koul wrote:
> On 09-01-20, 13:19, Colin King wrote:
>> From: Colin Ian King <[email protected]>
>>
>> Currently when the call to dev_get_platdata returns null the driver issues
>> a warning and then later dereferences the null pointer. Avoid this issue
>> by returning -ENODEV errror rather when the platform data is null and
>
> s/errror/error :) never thought would correct Colin on spelling :)

Doh, I need to add that to the checkpatch dictionary ;-)

If this can be fixed up before it's applied then this would be
appreciated rather than me sending a V3.

>
> With the typo fixes:
>
> Acked-by: Vinod Koul <[email protected]>
>

2020-01-13 17:47:17

by Tony Lindgren

[permalink] [raw]
Subject: Re: [PATCH][next][V2] dmaengine: ti: omap-dma: don't allow a null od->plat pointer to be dereferenced

* Colin Ian King <[email protected]> [200110 09:22]:
> On 10/01/2020 07:46, Vinod Koul wrote:
> > On 09-01-20, 13:19, Colin King wrote:
> >> From: Colin Ian King <[email protected]>
> >>
> >> Currently when the call to dev_get_platdata returns null the driver issues
> >> a warning and then later dereferences the null pointer. Avoid this issue
> >> by returning -ENODEV errror rather when the platform data is null and
> >
> > s/errror/error :) never thought would correct Colin on spelling :)
>
> Doh, I need to add that to the checkpatch dictionary ;-)
>
> If this can be fixed up before it's applied then this would be
> appreciated rather than me sending a V3.

I've fixed i up and pushed out into omap-for-v5.6/sdma.

Thanks,

Tony