hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
kernel/drivers/md/raid1.c
....@@ -1793,6 +1793,9 @@
17931793 int number = rdev->raid_disk;
17941794 struct raid1_info *p = conf->mirrors + number;
17951795
1796
+ if (unlikely(number >= conf->raid_disks))
1797
+ goto abort;
1798
+
17961799 if (rdev != p->rdev)
17971800 p = conf->mirrors + conf->raid_disks + number;
17981801
....@@ -3115,6 +3118,7 @@
31153118 * RAID1 needs at least one disk in active
31163119 */
31173120 if (conf->raid_disks - mddev->degraded < 1) {
3121
+ md_unregister_thread(&conf->thread);
31183122 ret = -EINVAL;
31193123 goto abort;
31203124 }