md/md-bitmap: hold 'reconfig_mutex' in backlog_store()
authorYu Kuai <yukuai3@huawei.com>
Thu, 6 Jul 2023 08:37:27 +0000 (16:37 +0800)
committerSong Liu <song@kernel.org>
Thu, 27 Jul 2023 07:13:30 +0000 (00:13 -0700)
commit44abfa6a95df425c0660d56043020b67e6d93ab8
tree302427e26586fcb1107f64b45adf5f99fbe60f92
parentb4d129640f194ffc4cc64c3e97f98ae944c072e8
md/md-bitmap: hold 'reconfig_mutex' in backlog_store()

Several reasons why 'reconfig_mutex' should be held:

1) rdev_for_each() is not safe to be called without the lock, because
   rdev can be removed concurrently.
2) mddev_destroy_serial_pool() and mddev_create_serial_pool() should not
   be called concurrently.
3) mddev_suspend() from mddev_destroy/create_serial_pool() should be
   protected by the lock.

Fixes: 10c92fca636e ("md-bitmap: create and destroy wb_info_pool with the change of backlog")
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20230706083727.608914-3-yukuai1@huaweicloud.com
Signed-off-by: Song Liu <song@kernel.org>
drivers/md/md-bitmap.c