diff --git a/drivers/md/md.c b/drivers/md/md.c index 680b34a63cb3..c65da77677bc 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1393,7 +1393,8 @@ static int super_90_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor goto abort; } - if (sb->raid_disks <= 0) + if (sb->raid_disks <= 0 || + sb->raid_disks > MD_SB_DISKS) goto abort; if (md_csum_fold(calc_sb_csum(sb)) != md_csum_fold(sb->sb_csum)) {