mtd: nand: Fix memory allocation in nanddev_bbt_init()
authorFrieder Schrempf <frieder.schrempf@kontron.de>
Tue, 27 Nov 2018 07:44:52 +0000 (07:44 +0000)
committerBoris Brezillon <boris.brezillon@bootlin.com>
Wed, 28 Nov 2018 14:41:50 +0000 (15:41 +0100)
Fix the size of the buffer allocated to store the in-memory BBT.
This bug was previously hidden by a different bug, that was fixed in
commit d098093ba06e ("mtd: nand: Fix nanddev_neraseblocks()").

Fixes: 9c3736a3de21 ("mtd: nand: Add core infrastructure to deal with NAND devices")
Cc: <stable@vger.kernel.org>
Signed-off-by: Frieder Schrempf <frieder.schrempf@kontron.de>
Acked-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
drivers/mtd/nand/bbt.c

index 56cde38b92c034e28b1428d7f11ac57c25753fad..044adf91385465ca73e54f53238fb68b03c8a604 100644 (file)
@@ -27,7 +27,8 @@ int nanddev_bbt_init(struct nand_device *nand)
        unsigned int nwords = DIV_ROUND_UP(nblocks * bits_per_block,
                                           BITS_PER_LONG);
 
-       nand->bbt.cache = kzalloc(nwords, GFP_KERNEL);
+       nand->bbt.cache = kcalloc(nwords, sizeof(*nand->bbt.cache),
+                                 GFP_KERNEL);
        if (!nand->bbt.cache)
                return -ENOMEM;