public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* Patch to solve NULL pointer dereference in physmap_of.c
@ 2012-11-09  7:45 Prins Anton (ST-CO/ENG1.1)
  2012-11-21  7:42 ` Artem Bityutskiy
  0 siblings, 1 reply; 10+ messages in thread
From: Prins Anton (ST-CO/ENG1.1) @ 2012-11-09  7:45 UTC (permalink / raw)
  To: linux-mtd@lists.infradead.org

commit 0905a6f4aec377123e94d2260f2f7a0d867e19be
Author: Anton Prins <anton.prins@nl.bosch.com>
Date:   Fri Nov 9 10:12:58 2012 +0100

    Correct error checking to prevent a NULL pointer dereference

    The problem only occurs if the DTS is not correct, the requested mapping is not reserved on the parent bus.
    In this special case the count is 1, but the list_size after mapping is 0. list_size 0 should generate an error!

diff --git a/drivers/mtd/maps/physmap_of.c b/drivers/mtd/maps/physmap_of.c
index 2e6fb68..83d121e 100644
--- a/drivers/mtd/maps/physmap_of.c
+++ b/drivers/mtd/maps/physmap_of.c
@@ -267,13 +267,14 @@ static int __devinit of_flash_probe(struct platform_device *dev)
                info->list[i].mtd->dev.parent = &dev->dev;
        }

-       err = 0;
        if (info->list_size == 1) {
+               err = 0;
                info->cmtd = info->list[0].mtd;
        } else if (info->list_size > 1) {
                /*
                 * We detected multiple devices. Concatenate them together.
                 */
+               err = 0;
                info->cmtd = mtd_concat_create(mtd_list, info->list_size,
                                               dev_name(&dev->dev));
                if (info->cmtd == NULL)

^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2012-12-11  8:48 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-11-09  7:45 Patch to solve NULL pointer dereference in physmap_of.c Prins Anton (ST-CO/ENG1.1)
2012-11-21  7:42 ` Artem Bityutskiy
2012-11-21  8:43   ` Prins Anton (ST-CO/ENG1.1)
2012-11-22 15:20   ` Prins Anton (ST-CO/ENG1.1)
2012-11-30 11:51     ` Artem Bityutskiy
2012-12-03  7:31       ` Prins Anton (ST-CO/ENG1.1)
2012-12-10 13:31         ` Artem Bityutskiy
2012-12-11  8:34           ` Prins Anton (ST-CO/ENG1.1)
2012-12-11  8:49             ` Artem Bityutskiy
2012-12-05 14:19       ` Prins Anton (ST-CO/ENG1.1)

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox