summaryrefslogtreecommitdiff
path: root/drivers/mtd/cmdlinepart.c
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2009-03-06 14:01:08 +0300
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-03-20 21:55:17 +0300
commit17b536cc43bcf2afcc20b4812f93a895881b5f4f (patch)
tree4f460cf224c26633159eb32ccb90e6b09a9e0658 /drivers/mtd/cmdlinepart.c
parentbd50a0ffca0bbb9baa60ab1ef2c09cf7561e1223 (diff)
downloadlinux-17b536cc43bcf2afcc20b4812f93a895881b5f4f.tar.xz
[MTD] mtdpart: Make all partition parsers return allocated array
Currently redboot and afx parser return allocated mtd_partition array and cmdlinepart and ar7 return persistent array. This patch make cmdlinepart and ar7 also return allocated array, so that all users can free it regardless of parser type. Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/cmdlinepart.c')
-rw-r--r--drivers/mtd/cmdlinepart.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mtd/cmdlinepart.c b/drivers/mtd/cmdlinepart.c
index 50a340388e74..5011fa73f918 100644
--- a/drivers/mtd/cmdlinepart.c
+++ b/drivers/mtd/cmdlinepart.c
@@ -335,7 +335,11 @@ static int parse_cmdline_partitions(struct mtd_info *master,
}
offset += part->parts[i].size;
}
- *pparts = part->parts;
+ *pparts = kmemdup(part->parts,
+ sizeof(*part->parts) * part->num_parts,
+ GFP_KERNEL);
+ if (!*pparts)
+ return -ENOMEM;
return part->num_parts;
}
}