All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
@ 2018-09-18 13:33 ` Gustavo A. R. Silva
  0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-09-18 13:33 UTC (permalink / raw)
  To: Tudor Ambarus, Boris Brezillon, Miquel Raynal,
	Richard Weinberger, David Woodhouse, Brian Norris, Marek Vasut,
	Nicolas Ferre, Alexandre Belloni, Ludovic Desroches
  Cc: linux-mtd, linux-arm-kernel, linux-kernel, Gustavo A. R. Silva

There is a potential execution path in which function
of_find_compatible_node() returns NULL. In such a case,
we end up having a NULL pointer dereference when accessing
pointer *nfc_np* in function of_clk_get().

So, we better don't take any chances and fix this by null
checking pointer *nfc_np* before calling of_clk_get().

Addresses-Coverity-ID: 1473052 ("Dereference null return value")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
index a38633a..ffa0c6b6 100644
--- a/drivers/mtd/nand/raw/atmel/nand-controller.c
+++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
@@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
 	nfc_np = of_find_compatible_node(dev->of_node, NULL,
 					 "atmel,sama5d3-nfc");
 
+	if (!nfc_np) {
+		dev_err(dev, "Could not find device node for sama5d3-nfc\n");
+		return -ENODEV;
+	}
+
 	nc->clk = of_clk_get(nfc_np, 0);
 	if (IS_ERR(nc->clk)) {
 		ret = PTR_ERR(nc->clk);
-- 
2.7.4


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

* [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
@ 2018-09-18 13:33 ` Gustavo A. R. Silva
  0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-09-18 13:33 UTC (permalink / raw)
  To: linux-arm-kernel

There is a potential execution path in which function
of_find_compatible_node() returns NULL. In such a case,
we end up having a NULL pointer dereference when accessing
pointer *nfc_np* in function of_clk_get().

So, we better don't take any chances and fix this by null
checking pointer *nfc_np* before calling of_clk_get().

Addresses-Coverity-ID: 1473052 ("Dereference null return value")
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
---
 drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
index a38633a..ffa0c6b6 100644
--- a/drivers/mtd/nand/raw/atmel/nand-controller.c
+++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
@@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
 	nfc_np = of_find_compatible_node(dev->of_node, NULL,
 					 "atmel,sama5d3-nfc");
 
+	if (!nfc_np) {
+		dev_err(dev, "Could not find device node for sama5d3-nfc\n");
+		return -ENODEV;
+	}
+
 	nc->clk = of_clk_get(nfc_np, 0);
 	if (IS_ERR(nc->clk)) {
 		ret = PTR_ERR(nc->clk);
-- 
2.7.4

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

* Re: [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
  2018-09-18 13:33 ` Gustavo A. R. Silva
@ 2018-09-18 13:40   ` Boris Brezillon
  -1 siblings, 0 replies; 6+ messages in thread
From: Boris Brezillon @ 2018-09-18 13:40 UTC (permalink / raw)
  To: Gustavo A. R. Silva
  Cc: Tudor Ambarus, Miquel Raynal, Richard Weinberger,
	David Woodhouse, Brian Norris, Marek Vasut, Nicolas Ferre,
	Alexandre Belloni, Ludovic Desroches, linux-mtd,
	linux-arm-kernel, linux-kernel

Hi Gustavo,

On Tue, 18 Sep 2018 08:33:17 -0500
"Gustavo A. R. Silva" <gustavo@embeddedor.com> wrote:

> There is a potential execution path in which function
> of_find_compatible_node() returns NULL. In such a case,
> we end up having a NULL pointer dereference when accessing
> pointer *nfc_np* in function of_clk_get().
> 
> So, we better don't take any chances and fix this by null
> checking pointer *nfc_np* before calling of_clk_get().
> 
> Addresses-Coverity-ID: 1473052 ("Dereference null return value")

Can you add a Fixes tag here?

> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index a38633a..ffa0c6b6 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
>  	nfc_np = of_find_compatible_node(dev->of_node, NULL,
>  					 "atmel,sama5d3-nfc");
>  

Can you drop this blank line?

> +	if (!nfc_np) {
> +		dev_err(dev, "Could not find device node for sama5d3-nfc\n");
> +		return -ENODEV;
> +	}
> +
>  	nc->clk = of_clk_get(nfc_np, 0);
>  	if (IS_ERR(nc->clk)) {
>  		ret = PTR_ERR(nc->clk);

Thanks,

Boris

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

* [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
@ 2018-09-18 13:40   ` Boris Brezillon
  0 siblings, 0 replies; 6+ messages in thread
From: Boris Brezillon @ 2018-09-18 13:40 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Gustavo,

On Tue, 18 Sep 2018 08:33:17 -0500
"Gustavo A. R. Silva" <gustavo@embeddedor.com> wrote:

> There is a potential execution path in which function
> of_find_compatible_node() returns NULL. In such a case,
> we end up having a NULL pointer dereference when accessing
> pointer *nfc_np* in function of_clk_get().
> 
> So, we better don't take any chances and fix this by null
> checking pointer *nfc_np* before calling of_clk_get().
> 
> Addresses-Coverity-ID: 1473052 ("Dereference null return value")

Can you add a Fixes tag here?

> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
> ---
>  drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
> index a38633a..ffa0c6b6 100644
> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
> @@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
>  	nfc_np = of_find_compatible_node(dev->of_node, NULL,
>  					 "atmel,sama5d3-nfc");
>  

Can you drop this blank line?

> +	if (!nfc_np) {
> +		dev_err(dev, "Could not find device node for sama5d3-nfc\n");
> +		return -ENODEV;
> +	}
> +
>  	nc->clk = of_clk_get(nfc_np, 0);
>  	if (IS_ERR(nc->clk)) {
>  		ret = PTR_ERR(nc->clk);

Thanks,

Boris

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

* Re: [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
  2018-09-18 13:40   ` Boris Brezillon
@ 2018-09-18 13:44     ` Gustavo A. R. Silva
  -1 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-09-18 13:44 UTC (permalink / raw)
  To: Boris Brezillon
  Cc: Tudor Ambarus, Miquel Raynal, Richard Weinberger,
	David Woodhouse, Brian Norris, Marek Vasut, Nicolas Ferre,
	Alexandre Belloni, Ludovic Desroches, linux-mtd,
	linux-arm-kernel, linux-kernel

Hi Boris,

On 9/18/18 8:40 AM, Boris Brezillon wrote:
> Hi Gustavo,
> 
> On Tue, 18 Sep 2018 08:33:17 -0500
> "Gustavo A. R. Silva" <gustavo@embeddedor.com> wrote:
> 
>> There is a potential execution path in which function
>> of_find_compatible_node() returns NULL. In such a case,
>> we end up having a NULL pointer dereference when accessing
>> pointer *nfc_np* in function of_clk_get().
>>
>> So, we better don't take any chances and fix this by null
>> checking pointer *nfc_np* before calling of_clk_get().
>>
>> Addresses-Coverity-ID: 1473052 ("Dereference null return value")
> 
> Can you add a Fixes tag here?
> 

Yep.

>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>>  drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
>> index a38633a..ffa0c6b6 100644
>> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
>> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
>> @@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
>>  	nfc_np = of_find_compatible_node(dev->of_node, NULL,
>>  					 "atmel,sama5d3-nfc");
>>  
> 
> Can you drop this blank line?
> 

OK. Sure thing.

I'll send v2 shortly.

Thanks for the feedback.
--
Gustavo

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

* [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference
@ 2018-09-18 13:44     ` Gustavo A. R. Silva
  0 siblings, 0 replies; 6+ messages in thread
From: Gustavo A. R. Silva @ 2018-09-18 13:44 UTC (permalink / raw)
  To: linux-arm-kernel

Hi Boris,

On 9/18/18 8:40 AM, Boris Brezillon wrote:
> Hi Gustavo,
> 
> On Tue, 18 Sep 2018 08:33:17 -0500
> "Gustavo A. R. Silva" <gustavo@embeddedor.com> wrote:
> 
>> There is a potential execution path in which function
>> of_find_compatible_node() returns NULL. In such a case,
>> we end up having a NULL pointer dereference when accessing
>> pointer *nfc_np* in function of_clk_get().
>>
>> So, we better don't take any chances and fix this by null
>> checking pointer *nfc_np* before calling of_clk_get().
>>
>> Addresses-Coverity-ID: 1473052 ("Dereference null return value")
> 
> Can you add a Fixes tag here?
> 

Yep.

>> Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
>> ---
>>  drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/drivers/mtd/nand/raw/atmel/nand-controller.c b/drivers/mtd/nand/raw/atmel/nand-controller.c
>> index a38633a..ffa0c6b6 100644
>> --- a/drivers/mtd/nand/raw/atmel/nand-controller.c
>> +++ b/drivers/mtd/nand/raw/atmel/nand-controller.c
>> @@ -2035,6 +2035,11 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc)
>>  	nfc_np = of_find_compatible_node(dev->of_node, NULL,
>>  					 "atmel,sama5d3-nfc");
>>  
> 
> Can you drop this blank line?
> 

OK. Sure thing.

I'll send v2 shortly.

Thanks for the feedback.
--
Gustavo

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

end of thread, other threads:[~2018-09-18 13:45 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-09-18 13:33 [PATCH] mtd: rawnand: atmel: Fix potential NULL pointer dereference Gustavo A. R. Silva
2018-09-18 13:33 ` Gustavo A. R. Silva
2018-09-18 13:40 ` Boris Brezillon
2018-09-18 13:40   ` Boris Brezillon
2018-09-18 13:44   ` Gustavo A. R. Silva
2018-09-18 13:44     ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.