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 a409ab6..201fd8a 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);