summaryrefslogtreecommitdiff
path: root/drivers/mtd/cmdlinepart.c
diff options
context:
space:
mode:
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>2009-03-06 11:01:08 (GMT)
committerDavid Woodhouse <David.Woodhouse@intel.com>2009-03-20 18:55:17 (GMT)
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 50a3403..5011fa7 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;
}
}