Message ID | 46d929d0-2aab-4cf2-b2bf-338963e8ba5a@redhat.com (mailing list archive) |
---|---|
State | Mainlined, archived |
Headers | show |
Series | raid1: fix error: ISO C90 forbids mixed declarations | expand |
On Sat, Sep 9, 2023 at 4:53 AM Nigel Croxon <ncroxon@redhat.com> wrote: > > 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> Applied to md-fixes after some minor fixes. Thanks, Song > --- > 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 >
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;
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(-)