mtd: m25p80: fix allocation size
authorBrian Norris <computersforpeace@gmail.com>
Thu, 25 Jul 2013 01:32:07 +0000 (18:32 -0700)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 7 Nov 2013 07:33:04 +0000 (23:33 -0800)
commit778d226a1462572b51d6777cdb1d611543410cb4
treefe6d42396a545b02ee8b8ab7713c55ec9cccd061
parent7caa4fd29068cccaa7be20914af6d23f261be3eb
mtd: m25p80: fix allocation size

This patch fixes two memory errors:

1. During a probe failure (in mtd_device_parse_register?) the command
   buffer would not be freed.

2. The command buffer's size is determined based on the 'fast_read'
   boolean, but the assignment of fast_read is made after this
   allocation. Thus, the buffer may be allocated "too small".

To fix the first, just switch to the devres version of kzalloc.

To fix the second, increase MAX_CMD_SIZE unconditionally. It's not worth
saving a byte to fiddle around with the conditions here.

This problem was reported by Yuhang Wang a while back.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reported-by: Yuhang Wang <wangyuhang2014@gmail.com>
Reviewed-by: Sourav Poddar <sourav.poddar@ti.com>
Cc: <stable@vger.kernel.org>
drivers/mtd/devices/m25p80.c