[PATCH] of_partition: devfs_add_partition returns an error pointer

Sascha Hauer s.hauer at pengutronix.de
Thu Jul 31 23:34:27 PDT 2014


Check for the return value of devfs_add_partition with IS_ERR.
Otherwise we dereference a NULL pointer when devfs_add_partition
fails.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 drivers/of/partition.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/of/partition.c b/drivers/of/partition.c
index e2ddec5..3dce844 100644
--- a/drivers/of/partition.c
+++ b/drivers/of/partition.c
@@ -21,6 +21,7 @@
 #include <of.h>
 #include <malloc.h>
 #include <linux/mtd/mtd.h>
+#include <linux/err.h>
 #include <nand.h>
 
 struct cdev *of_parse_partition(struct cdev *cdev, struct device_node *node)
@@ -60,6 +61,9 @@ struct cdev *of_parse_partition(struct cdev *cdev, struct device_node *node)
 	filename = asprintf("%s.%s", cdev->name, partname);
 
 	new = devfs_add_partition(cdev->name, offset, size, flags, filename);
+	if (IS_ERR(new))
+		new = NULL;
+
 	if (new && new->dev)
 		new->dev->device_node = node;
 
-- 
2.0.1




More information about the barebox mailing list