mtd: rawnand: atmel: Fix potential NULL pointer dereference
Subsystems (4)
PATCH 1/1 mtd: rawnand: atmel: Fix potential NULL pointer dereference
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")
--- drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++ 1 file changed, 5 insertions(+)
drivers/mtd/nand/raw/atmel/nand-controller.c +5 -0
@@ -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);
Signature · 1 line
2.7.4
Hi Gustavo,
Quoted 9 lines · On Tue, 18 Sep 2018 08:33:17 -0500 "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 functionof_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?
drivers/mtd/nand/raw/atmel/nand-controller.c atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) · line 2037
Quoted 13 lines
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++ 1 file changed, 5 insertions(+)drivers/mtd/nand/raw/atmel/nand-controller.c +0
-0@@ -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?
drivers/mtd/nand/raw/atmel/nand-controller.c atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) · line 2045
Quoted 8 lines
drivers/mtd/nand/raw/atmel/nand-controller.c +5
-0+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
Hi Boris,
Quoted 10 lines · Boris Brezillon
Hi Gustavo,
Quoted 5 lines · On Tue, 18 Sep 2018 08:33:17 -0500 "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 functionof_clk_get().
Quoted 7 lines
Quoted 4 lines
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.
Quoted 5 lines
Quoted 5 lines
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/mtd/nand/raw/atmel/nand-controller.c | 5 +++++ 1 file changed, 5 insertions(+)
Quoted 11 lines
drivers/mtd/nand/raw/atmel/nand-controller.c atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) · line 2037
Quoted 8 lines
drivers/mtd/nand/raw/atmel/nand-controller.c +0
-0@@ -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