md: raid1: check rdev before reference in raid1_sync_request func
authorZhiqiang Liu <liuzhiqiang26@huawei.com>
Tue, 10 Dec 2019 02:42:25 +0000 (10:42 +0800)
committerSong Liu <songliubraving@fb.com>
Wed, 11 Dec 2019 18:36:13 +0000 (10:36 -0800)
In raid1_sync_request func, rdev should be checked before reference.

Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
Signed-off-by: Song Liu <songliubraving@fb.com>
drivers/md/raid1.c

index a409ab6f30bc33375561d4cebc20c5e20f9435ba..201fd8aec59aca67842611d8524f205d2c9b63d4 100644 (file)
@@ -2782,7 +2782,7 @@ static sector_t raid1_sync_request(struct mddev *mddev, sector_t sector_nr,
                                write_targets++;
                        }
                }
-               if (bio->bi_end_io) {
+               if (rdev && bio->bi_end_io) {
                        atomic_inc(&rdev->nr_pending);
                        bio->bi_iter.bi_sector = sector_nr + rdev->data_offset;
                        bio_set_dev(bio, rdev->bdev);