Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 526789fc authored by Akinobu Mita's avatar Akinobu Mita Committed by Brian Norris
Browse files

mtd: nand: ams-delta: fix overwritten mtd_info->owner in initialization



In initialization routine, mtd_info->owner is overwritten by memset()
just after being initialized.  This can be fixed by moving memset() calls
to just before setting mtd_info->owner.  But the memory region is allocated
by kmalloc, so we can fix it by using kzalloc instead of kmalloc.

Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Cc: Jonathan McDowell <noodles@earth.li>
Cc: David Woodhouse <dwmw2@infradead.org>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 45c6a0ca
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -183,7 +183,7 @@ static int ams_delta_init(struct platform_device *pdev)
		return -ENXIO;

	/* Allocate memory for MTD device structure and private data */
	ams_delta_mtd = kmalloc(sizeof(struct mtd_info) +
	ams_delta_mtd = kzalloc(sizeof(struct mtd_info) +
				sizeof(struct nand_chip), GFP_KERNEL);
	if (!ams_delta_mtd) {
		printk (KERN_WARNING "Unable to allocate E3 NAND MTD device structure.\n");
@@ -196,10 +196,6 @@ static int ams_delta_init(struct platform_device *pdev)
	/* Get pointer to private data */
	this = (struct nand_chip *) (&ams_delta_mtd[1]);

	/* Initialize structures */
	memset(ams_delta_mtd, 0, sizeof(struct mtd_info));
	memset(this, 0, sizeof(struct nand_chip));

	/* Link the private data with the MTD structure */
	ams_delta_mtd->priv = this;