blob: b2a4129d2095008ae5c41cea33b8d4b7f9857451 [file] [log] [blame]
From 70ee6b96cbe9be165fa6ebf0dd8fd7cc326c185a Mon Sep 17 00:00:00 2001
From: Dan Carpenter <>
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 <>
Signed-off-by: Miquel Raynal <>
Signed-off-by: Paul Gortmaker <>
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),
if (!shared) {
- kfree(lpddr);
return NULL;