mtd: cfi_cmdset_0002: don't free cfi->cfiq in error path of cfi_amdstd_setup()
authorHou Tao <houtao1@huawei.com>
Tue, 8 Oct 2019 02:36:37 +0000 (10:36 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 1 Oct 2020 18:40:02 +0000 (20:40 +0200)
[ Upstream commit 03976af89e3bd9489d542582a325892e6a8cacc0 ]

Else there may be a double-free problem, because cfi->cfiq will
be freed by mtd_do_chip_probe() if both the two invocations of
check_cmd_set() return failure.

Signed-off-by: Hou Tao <houtao1@huawei.com>
Reviewed-by: Richard Weinberger <richard@nod.at>
Signed-off-by: Vignesh Raghavendra <vigneshr@ti.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/mtd/chips/cfi_cmdset_0002.c

index 00ba09f..3c4819a 100644 (file)
@@ -722,7 +722,6 @@ static struct mtd_info *cfi_amdstd_setup(struct mtd_info *mtd)
        kfree(mtd->eraseregions);
        kfree(mtd);
        kfree(cfi->cmdset_priv);
-       kfree(cfi->cfiq);
        return NULL;
 }