| From 70ee6b96cbe9be165fa6ebf0dd8fd7cc326c185a Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Fri, 28 Feb 2020 12:25:54 +0300 |
| Subject: [PATCH] mtd: lpddr: Fix a double free in probe() |
| |
| commit 4da0ea71ea934af18db4c63396ba2af1a679ef02 upstream. |
| |
| This function is only called from lpddr_probe(). We free "lpddr" both |
| here and in the caller, so it's a double free. The best place to free |
| "lpddr" is in lpddr_probe() so let's delete this one. |
| |
| Fixes: 8dc004395d5e ("[MTD] LPDDR qinfo probing.") |
| Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com> |
| Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> |
| Link: https://lore.kernel.org/linux-mtd/20200228092554.o57igp3nqhyvf66t@kili.mountain |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/mtd/lpddr/lpddr_cmds.c b/drivers/mtd/lpddr/lpddr_cmds.c |
| index 1efc643c9871..9341a8a592e8 100644 |
| --- a/drivers/mtd/lpddr/lpddr_cmds.c |
| +++ b/drivers/mtd/lpddr/lpddr_cmds.c |
| @@ -68,7 +68,6 @@ struct mtd_info *lpddr_cmdset(struct map_info *map) |
| shared = kmalloc_array(lpddr->numchips, sizeof(struct flchip_shared), |
| GFP_KERNEL); |
| if (!shared) { |
| - kfree(lpddr); |
| kfree(mtd); |
| return NULL; |
| } |
| -- |
| 2.7.4 |
| |