[PATCH] mtd: core: fix NULL pointer dereference with mtd_check_of_node

From: Christian Marangi
Date: Sun Jul 03 2022 - 05:57:30 EST


Actually check if mtd dev have a parent to fix NULL pointer dereference
kernel panic in mtd_check_of_node.

Reported-by: kernel test robot <oliver.sang@xxxxxxxxx>
Fixes: ad9b10d1eaad ("mtd: core: introduce of support for dynamic partitions")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Christian Marangi <ansuelsmth@xxxxxxxxx>
---
drivers/mtd/mtdcore.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c
index 6fafea80fd98..48a357fcf2ed 100644
--- a/drivers/mtd/mtdcore.c
+++ b/drivers/mtd/mtdcore.c
@@ -558,8 +558,12 @@ static void mtd_check_of_node(struct mtd_info *mtd)
if (dev_of_node(&mtd->dev))
return;

- /* Check if a partitions node exist */
+ /* Make sure we have a parent */
parent = mtd->parent;
+ if (!parent)
+ return;
+
+ /* Check if a partitions node exist */
parent_dn = dev_of_node(&parent->dev);
if (!parent_dn)
return;
--
2.36.1