Patch "mtd: pmcmsp-flash: Allocating too much in init_msp_flash()" has been added to the 4.4-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
mtd: pmcmsp-flash: Allocating too much in init_msp_flash()
to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mtd-pmcmsp-flash-allocating-too-much-in-init_msp_flash.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
79ad07d45743721010e766e65dc004ad249bd429Mon Sep 17 00:00:00 2001
From: Dan Carpenter <[email protected]>
Date: Thu, 14 Jul 2016 13:44:56 +0300
Subject: mtd: pmcmsp-flash: Allocating too much in init_msp_flash()
From: Dan Carpenter <[email protected]>
commit 79ad07d45743721010e766e65dc004ad249bd429 upstream.
There is a cut and paste issue here. The bug is that we are allocating more memory than necessary for msp_maps. We should be allocating enough space for a map_info struct (144 bytes) but we instead allocate enough for an mtd_info struct (1840 bytes). It's a small waste.
The other part of this is not harmful but when we allocated msp_flash then we allocated enough space fro a map_info pointer instead of an mtd_info pointer. But since pointers are the same size it works out fine.
Anyway, I decided to clean up all three allocations a bit to make them a bit more consistent and clear.
--- drivers/mtd/maps/pmcmsp-flash.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/mtd/maps/pmcmsp-flash.c +3 -3
@@ -75,15 +75,15 @@ static int __init init_msp_flash(void)printk (KERN_NOTICE "Found %d PMC flash devices\n" , fcnt); - msp_flash =kmalloc (fcnt *sizeof (struct map_info *),GFP_KERNEL ); + msp_flash =kcalloc (fcnt,sizeof (*msp_flash),GFP_KERNEL );if (!msp_flash)return -ENOMEM ; - msp_parts =kmalloc (fcnt *sizeof (struct mtd_partition *),GFP_KERNEL ); + msp_parts =kcalloc (fcnt,sizeof (*msp_parts),GFP_KERNEL );if (!msp_parts) goto free_msp_flash; - msp_maps =kcalloc (fcnt,sizeof (struct mtd_info ),GFP_KERNEL ); + msp_maps =kcalloc (fcnt,sizeof (*msp_maps),GFP_KERNEL );if (!msp_maps) goto free_msp_parts;
Patches currently in stable-queue which might be from [email protected] are
queue-4.4/mtd-pmcmsp-flash-allocating-too-much-in-init_msp_flash.patch queue-4.4/mtd-maps-sa1100-flash-potential-null-dereference.patch