diff options
author | Jens Axboe <axboe@kernel.dk> | 2023-03-31 04:29:47 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2023-03-31 04:29:47 +0200 |
commit | 24ab70d83784a807c9ddff939ea762ef19bd4ffd (patch) | |
tree | 357ef07083c11b1d6dfa0b3db1021bb36157a4f4 | |
parent | Merge tag 'nvme-6.3-2023-03-31' of git://git.infradead.org/nvme into block-6.3 (diff) | |
parent | md: fix regression for null-ptr-deference in __md_stop() (diff) | |
download | linux-24ab70d83784a807c9ddff939ea762ef19bd4ffd.tar.xz linux-24ab70d83784a807c9ddff939ea762ef19bd4ffd.zip |
Merge tag 'md-fixes-2023-03-29' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md into block-6.3
Pull MD fix from Song.
* tag 'md-fixes-2023-03-29' of https://git.kernel.org/pub/scm/linux/kernel/git/song/md:
md: fix regression for null-ptr-deference in __md_stop()
-rw-r--r-- | drivers/md/md.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/md/md.c b/drivers/md/md.c index 39e49e5d7182..13321dbb5fbc 100644 --- a/drivers/md/md.c +++ b/drivers/md/md.c @@ -6260,7 +6260,6 @@ static void __md_stop(struct mddev *mddev) module_put(pers->owner); clear_bit(MD_RECOVERY_FROZEN, &mddev->recovery); - percpu_ref_exit(&mddev->writes_pending); percpu_ref_exit(&mddev->active_io); bioset_exit(&mddev->bio_set); bioset_exit(&mddev->sync_set); @@ -6273,6 +6272,7 @@ void md_stop(struct mddev *mddev) */ __md_stop_writes(mddev); __md_stop(mddev); + percpu_ref_exit(&mddev->writes_pending); } EXPORT_SYMBOL_GPL(md_stop); @@ -7843,6 +7843,7 @@ static void md_free_disk(struct gendisk *disk) { struct mddev *mddev = disk->private_data; + percpu_ref_exit(&mddev->writes_pending); mddev_free(mddev); } |