md/raid1: fix error: ISO C90 forbids mixed declarations
authorNigel Croxon <ncroxon@redhat.com>
Mon, 11 Sep 2023 21:25:23 +0000 (14:25 -0700)
committerSong Liu <song@kernel.org>
Mon, 11 Sep 2023 21:41:58 +0000 (14:41 -0700)
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: 8b0472b50bcf ("md: raid1: fix potential OOB in raid1_remove_disk()")
Signed-off-by: Nigel Croxon <ncroxon@redhat.com>
Signed-off-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/46d929d0-2aab-4cf2-b2bf-338963e8ba5a@redhat.com
drivers/md/raid1.c

index 4b30a174216232564cd88781d603d6ac5d7e5c95..2aabac773fe72aa0db6bb6344e128b3d3dd08460 100644 (file)
@@ -1837,12 +1837,11 @@ static int raid1_remove_disk(struct mddev *mddev, struct md_rdev *rdev)
        struct r1conf *conf = mddev->private;
        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;