DDF: ddf_open_new: implement minimal consistency check

Added a minimal consitency check as in imsm_open_new().

Signed-off-by: Martin Wilck <mwilck@arcor.de>
Signed-off-by: NeilBrown <neilb@suse.de>
This commit is contained in:
mwilck@arcor.de 2013-07-03 22:27:46 +02:00 committed by NeilBrown
parent dbf98368fe
commit a2aa439e99
1 changed files with 8 additions and 2 deletions

View File

@ -3695,8 +3695,14 @@ static int compare_super_ddf(struct supertype *st, struct supertype *tst)
*/
static int ddf_open_new(struct supertype *c, struct active_array *a, char *inst)
{
dprintf("ddf: open_new %s\n", inst);
a->info.container_member = atoi(inst);
struct ddf_super *ddf = c->sb;
int n = atoi(inst);
if (n >= (int)__be16_to_cpu(ddf->virt->populated_vdes)) {
pr_err("%s: subarray index %d out of range\n", __func__, n);
return -ENODEV;
}
dprintf("ddf: open_new %d\n", n);
a->info.container_member = n;
return 0;
}