mtd: rawnand: atmel: Fix potential NULL pointer dereference
Subsystems (4)
PATCH v2 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")
---
Changes in v2:
- Add Fixes tag to the commit log.
- Remove blank line before null checking nfc_np.
drivers/mtd/nand/raw/atmel/nand-controller.c | 4 ++++ 1 file changed, 4 insertions(+)
drivers/mtd/nand/raw/atmel/nand-controller.c +4 -0
@@ -2034,6 +2034,10 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) nand_np = dev->of_node; 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)) {
Signature · 1 line
2.7.4
Quoted 11 lines · On Tue, 18 Sep 2018 08:55:55 -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")
Fixes f88fc122cc34 ("mtd: nand: Cleanup/rework the atmel_nand driver")Signed-off-by Gustavo A. R. Silva <[email protected]>
Quoted 23 lines
---
Changes in v2:
- Add Fixes tag to the commit log.
- Remove blank line before null checkingnfc_np.drivers/mtd/nand/raw/atmel/nand-controller.c | 4 ++++ 1 file changed, 4 insertions(+)drivers/mtd/nand/raw/atmel/nand-controller.c +4
-0@@ -2034,6 +2034,10 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) nand_np = dev->of_node; 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)) {
Quoted 11 lines · 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")
Fixes f88fc122cc34 ("mtd: nand: Cleanup/rework the atmel_nand driver")Signed-off-by Gustavo A. R. Silva <[email protected]>
Quoted 24 lines
---
Changes in v2:
- Add Fixes tag to the commit log.
- Remove blank line before null checkingnfc_np.drivers/mtd/nand/raw/atmel/nand-controller.c | 4 ++++ 1 file changed, 4 insertions(+)drivers/mtd/nand/raw/atmel/nand-controller.c +4
-0@@ -2034,6 +2034,10 @@ atmel_hsmc_nand_controller_legacy_init(struct atmel_hsmc_nand_controller *nc) nand_np = dev->of_node; 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)) {
Hi Gustavo,
"Gustavo A. R. Silva" <[email protected]> wrote on Tue, 18 Sep 2018 08:55:55 -0500:
Quoted 5 lines
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
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")
Fixes f88fc122cc34 ("mtd: nand: Cleanup/rework the atmel_nand driver")Signed-off-by Gustavo A. R. Silva <[email protected]>---
Applied to nand/next.
Thanks,
Miqu?l