mtd: afs: simplify partition parsing
authorLinus Walleij <linus.walleij@linaro.org>
Thu, 2 May 2019 14:30:29 +0000 (16:30 +0200)
committerRichard Weinberger <richard@nod.at>
Mon, 6 May 2019 19:48:46 +0000 (21:48 +0200)
commit1fca1f6abb38a6c2a082c1df01601d0898454d7a
tree9128108c68095e646de15643b5df547f0a8a5760
parent22749bf549efb000c88d164c9a6a3366468e8e1c
mtd: afs: simplify partition parsing

This simplifies the AFS partition parsing to make the code
more straight-forward and readable.

Before this patch the code tried to calculate the memory required
to hold the partition info by adding up the sizes of the strings
of the names and adding that to a single memory allocation,
indexing the name pointers in front of the struct mtd_partition
allocations so all allocated data was in one chunk.

This is overzealous. Instead use kstrdup and bail out,
kfree():ing the memory used for MTD partitions and names alike
on the errorpath.

In the process rename the index variable from idx to i.

Cc: Ryan Harkin <ryan.harkin@linaro.org>
Acked-by: Liviu Dudau <liviu.dudau@arm.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Richard Weinberger <richard@nod.at>
drivers/mtd/parsers/afs.c