]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
block: don't use submit_bio_noacct_nocheck in blk_zone_wplug_bio_work
authorChristoph Hellwig <hch@lst.de>
Wed, 11 Jun 2025 04:44:16 +0000 (06:44 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jun 2025 13:32:33 +0000 (15:32 +0200)
commit0fccb6773b1f4f992e435582cf8e050de421b678
tree5e2957863c27ddcdbf55c5487954848f73f3e6d2
parentaf8c13f9ee040b9a287ba246cf0055f7c77b7cc8
block: don't use submit_bio_noacct_nocheck in blk_zone_wplug_bio_work

[ Upstream commit cf625013d8741c01407bbb4a60c111b61b9fa69d ]

Bios queued up in the zone write plug have already gone through all all
preparation in the submit_bio path, including the freeze protection.

Submitting them through submit_bio_noacct_nocheck duplicates the work
and can can cause deadlocks when freezing a queue with pending bio
write plugs.

Go straight to ->submit_bio or blk_mq_submit_bio to bypass the
superfluous extra freeze protection and checks.

Fixes: 9b1ce7f0c6f8 ("block: Implement zone append emulation")
Reported-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Tested-by: Damien Le Moal <dlemoal@kernel.org>
Link: https://lore.kernel.org/r/20250611044416.2351850-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Sasha Levin <sashal@kernel.org>
block/blk-zoned.c