Messages in this thread Patch in this message | | | Date | Sat, 9 Sep 2023 07:53:10 -0400 | From | Nigel Croxon <> | Subject | [PATCH] raid1: fix error: ISO C90 forbids mixed declarations |
| |
There is a compile error when this commit is added: md: raid1: fix potential OOB in raid1_remove_disk()
drivers/md/raid1.c: In function 'raid1_remove_disk': drivers/md/raid1.c:1844:9: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement] 1844 | struct raid1_info *p = conf->mirrors + number; | ^~~~~~
That's because the new code was inserted before the struct. The change is move the struct command above this commit.
Fixes: md: raid1: fix potential OOB in raid1_remove_disk() commit 8b0472b50bcf
Signed-off-by: Nigel Croxon <ncroxon@redhat.com> --- drivers/md/raid1.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/md/raid1.c b/drivers/md/raid1.c index a5453b126aab..4f1483bb708b 100644 --- a/drivers/md/raid1.c +++ b/drivers/md/raid1.c @@ -1846,11 +1846,11 @@ static int raid1_remove_disk(struct mddev *mddev, struct md_rdev *rdev) int err = 0; int number = rdev->raid_disk;
+ struct raid1_info *p = conf->mirrors + number; + if (unlikely(number >= conf->raid_disks)) goto abort;
- struct raid1_info *p = conf->mirrors + number; - if (rdev != p->rdev) p = conf->mirrors + conf->raid_disks + number;
-- 2.31.1
| |