mtd: Fixed breaking list in __mtd_del_partition.
authorAndreas Oetken <ennoerlangen@gmail.com>
Tue, 2 Nov 2021 17:26:04 +0000 (18:26 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 27 Jan 2022 09:53:41 +0000 (10:53 +0100)
commit 2966daf7d253d9904b337b040dd7a43472858b8a upstream.

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
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/mtd/mtdpart.c

index 95d4742..5725818 100644 (file)
@@ -313,7 +313,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;