md/raid1: change r1conf->r1bio_pool to a pointer type
authorWang Jinchao <wangjinchao600@gmail.com>
Mon, 7 Jul 2025 01:26:57 +0000 (09:26 +0800)
committerYu Kuai <yukuai3@huawei.com>
Sun, 3 Aug 2025 05:08:02 +0000 (13:08 +0800)
commit987ca60637a46882a026ca9cc9f3e5f26e8aec28
tree055531c71666998409e3d658cbece529a4967f39
parent907a99c314a5a695e35acff78ac61f4ec950a6d3
md/raid1: change r1conf->r1bio_pool to a pointer type

In raid1_reshape(), newpool is a stack variable.
mempool_init() initializes newpool->wait with the stack address.
After assigning newpool to conf->r1bio_pool, the wait queue
need to be reinitialized, which is not ideal.

Change raid1_conf->r1bio_pool to a pointer type and
replace mempool_init() with mempool_create_kmalloc_pool() to
avoid referencing a stack-based wait queue.

Signed-off-by: Wang Jinchao <wangjinchao600@gmail.com>
Link: https://lore.kernel.org/linux-raid/20250707012711.376844-2-yukuai1@huaweicloud.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
drivers/md/raid1.c
drivers/md/raid1.h