[patch] mtd: nand: sunxi: prevent a small memory leak
Boris Brezillon
boris.brezillon at free-electrons.com
Mon Jul 4 05:42:07 PDT 2016
On Fri, 24 Jun 2016 15:24:03 +0300
Dan Carpenter <dan.carpenter at oracle.com> wrote:
> I moved the sanity check on ecc->size before the allocation so that we
> don't leak memory on error.
>
> Fixes: 05af074a4b73 ('mtd: nand: sunxi: check ecc->size values')
> Signed-off-by: Dan Carpenter <dan.carpenter at oracle.com>
Applied.
Thanks,
Boris
>
> diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c
> index f582fe4..9f4e1c7 100644
> --- a/drivers/mtd/nand/sunxi_nand.c
> +++ b/drivers/mtd/nand/sunxi_nand.c
> @@ -1812,13 +1812,13 @@ static int sunxi_nand_hw_common_ecc_ctrl_init(struct mtd_info *mtd,
> int ret;
> int i;
>
> + if (ecc->size != 512 && ecc->size != 1024)
> + return -EINVAL;
> +
> data = kzalloc(sizeof(*data), GFP_KERNEL);
> if (!data)
> return -ENOMEM;
>
> - if (ecc->size != 512 && ecc->size != 1024)
> - return -EINVAL;
> -
> /* Prefer 1k ECC chunk over 512 ones */
> if (ecc->size == 512 && mtd->writesize > 512) {
> ecc->size = 1024;
More information about the linux-mtd
mailing list