From: Wenwen Wang Date: Mon, 19 Aug 2019 17:16:00 +0000 (-0500) Subject: mtd: spi-nor: fix a memory leak bug X-Git-Tag: rel_imx_5.10.35_2.0.0-somdevices.0~3793^2~12^2~29 X-Git-Url: https://git.somdevices.com/?a=commitdiff_plain;h=313aca5a9c781a19537e6cc882511c13eff3bdba;p=linux.git mtd: spi-nor: fix a memory leak bug In spi_nor_parse_4bait(), 'dwords' is allocated through kmalloc(). However, it is not deallocated in the following execution if spi_nor_read_sfdp() fails, leading to a memory leak. To fix this issue, free 'dwords' before returning the error. Fixes: 816873eaeec6 ("mtd: spi-nor: parse SFDP 4-byte Address Instruction Table") Signed-off-by: Wenwen Wang Signed-off-by: Tudor Ambarus --- diff --git a/drivers/mtd/spi-nor/spi-nor.c b/drivers/mtd/spi-nor/spi-nor.c index ba99d903eda0..fdf776cac3c7 100644 --- a/drivers/mtd/spi-nor/spi-nor.c +++ b/drivers/mtd/spi-nor/spi-nor.c @@ -3957,7 +3957,7 @@ static int spi_nor_parse_4bait(struct spi_nor *nor, addr = SFDP_PARAM_HEADER_PTP(param_header); ret = spi_nor_read_sfdp(nor, addr, len, dwords); if (ret) - return ret; + goto out; /* Fix endianness of the 4BAIT DWORDs. */ for (i = 0; i < SFDP_4BAIT_DWORD_MAX; i++)