From patchwork Wed Jan 30 10:37:36 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: mtd: physmap_of: Fix map name when "linux, mtd-name" is absent Date: Wed, 30 Jan 2013 00:37:36 -0000 From: Pawel Moll X-Patchwork-Id: 216823 Message-Id: <1359542256-19135-1-git-send-email-pawel.moll@arm.com> To: David Woodhouse Cc: Artem Bityutskiy , Jean-Christophe PLAGNIOL-VILLARD , Pawel Moll , linux-mtd@lists.infradead.org Commit d68cbdd4fb04d2b756ad53c22f36943167b16340 "mtd: physmap_of: allow to specify the mtd name for retro compatiblity" introduced a "linux,mtd-name" property to override map names, but when this property is absent (so of_property_read_string() returns value != 0) an uninitialized value is used (as mtd_name is not set). This may lead to kernel oopses when the name is derefernced, eg: Unable to handle kernel NULL pointer dereference at virtual address 00000001 pgd = 80004000 [00000001] *pgd=00000000 Internal error: Oops: 5 [#1] SMP ARM Modules linked in: CPU: 3 Not tainted (3.8.0-rc5+ #644) PC is at strcmp+0x4/0x30 LR is at parse_cmdline_partitions+0x54/0x2f8 Fixed by initializing the variable to NULL. Signed-off-by: Pawel Moll --- drivers/mtd/maps/physmap_of.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c index 67cc73c..7901d72 100644 --- a/drivers/mtd/maps/physmap_of.c +++ b/drivers/mtd/maps/physmap_of.c @@ -170,7 +170,7 @@ static int of_flash_probe(struct platform_device *dev) resource_size_t res_size; struct mtd_part_parser_data ppdata; bool map_indirect; - const char *mtd_name; + const char *mtd_name = NULL; match = of_match_device(of_flash_match, &dev->dev); if (!match)