Blob Blame History Raw
From 2966daf7d253d9904b337b040dd7a43472858b8a Mon Sep 17 00:00:00 2001
From: Andreas Oetken <ennoerlangen@gmail.com>
Date: Tue, 2 Nov 2021 18:26:04 +0100
Subject: [PATCH] mtd: Fixed breaking list in __mtd_del_partition.
Git-commit: 2966daf7d253d9904b337b040dd7a43472858b8a
Patch-mainline: v5.17-rc1
References: git-fixes

Not the child partition should be removed from the partition list
but the partition itself. Otherwise the partition list gets broken
and any subsequent remove operations leads to a kernel panic.

Fixes: 46b5889cc2c5 ("mtd: implement proper partition handling")
Signed-off-by: Andreas Oetken <andreas.oetken@siemens-energy.com>
Cc: stable@vger.kernel.org
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20211102172604.2921065-1-andreas.oetken@siemens-energy.com
Acked-by: Takashi Iwai <tiwai@suse.de>

---
 drivers/mtd/mtdpart.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index 04af12b66110..357661b62c94 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -312,7 +312,7 @@ static int __mtd_del_partition(struct mtd_info *mtd)
 	if (err)
 		return err;
 
-	list_del(&child->part.node);
+	list_del(&mtd->part.node);
 	free_partition(mtd);
 
 	return 0;
-- 
2.31.1