Messages in this thread | | | Date | Wed, 30 Sep 2015 10:27:02 +0200 | From | Boris Brezillon <> | Subject | Re: [PATCH] mtd: mtdpart: fix add_mtd_partitions error path |
| |
On Thu, 30 Jul 2015 12:18:03 +0200 Boris Brezillon <boris.brezillon@free-electrons.com> wrote:
> If we fail to allocate a partition structure in the middle of the partition > creation process, the already allocated partitions are never removed, which > means they are still present in the partition list and their resources are > never freed.
Ping.
> > Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com> > Cc: stable@vger.kernel.org > --- > drivers/mtd/mtdpart.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c > index cafdb88..919a936 100644 > --- a/drivers/mtd/mtdpart.c > +++ b/drivers/mtd/mtdpart.c > @@ -664,8 +664,10 @@ int add_mtd_partitions(struct mtd_info *master, > > for (i = 0; i < nbparts; i++) { > slave = allocate_partition(master, parts + i, i, cur_offset); > - if (IS_ERR(slave)) > + if (IS_ERR(slave)) { > + del_mtd_partitions(master); > return PTR_ERR(slave); > + } > > mutex_lock(&mtd_partitions_mutex); > list_add(&slave->list, &mtd_partitions);
-- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com
| |