From: Yufen Yu Date: Tue, 10 Dec 2019 07:01:29 +0000 (+0800) Subject: md: make sure desc_nr less than MD_SB_DISKS X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=3b7436cc9449d5ff7fa1c1fd5bc3edb6402ff5b8;p=linux.git md: make sure desc_nr less than MD_SB_DISKS For super_90_load, we need to make sure 'desc_nr' less than MD_SB_DISKS, avoiding invalid memory access of 'sb->disks'. Fixes: 228fc7d76db6 ("md: avoid invalid memory access for array sb->dev_roles") Signed-off-by: Yufen Yu Signed-off-by: Song Liu --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 805b33e274967..4e7c9f398bc66 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -1159,6 +1159,7 @@ static int super_90_load(struct md_rdev *rdev, struct md_rdev *refdev, int minor /* not spare disk, or LEVEL_MULTIPATH */ if (sb->level == LEVEL_MULTIPATH || (rdev->desc_nr >= 0 && + rdev->desc_nr < MD_SB_DISKS && sb->disks[rdev->desc_nr].state & ((1<