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-Tag: v5.4.8~61 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=33ecb96148d61defc779bf4df47ba0d6e02129a4;p=platform%2Fkernel%2Flinux-rpi.git md: make sure desc_nr less than MD_SB_DISKS [ Upstream commit 3b7436cc9449d5ff7fa1c1fd5bc3edb6402ff5b8 ] 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 Signed-off-by: Sasha Levin --- diff --git a/drivers/md/md.c b/drivers/md/md.c index 805b33e..4e7c9f3 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<