mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-07-16 17:57:38 -04:00
block: fix incorrect error injection static key decrement
Only decrement the static key when we had items and thus it was
incremented before.
Fixes: e8dcf2d142 ("block: add configurable error injection")
Reported-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Link: https://patch.msgid.link/20260622160752.1552516-1-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
committed by
Jens Axboe
parent
d5b58fbb2f
commit
214cdae69d
@@ -120,13 +120,13 @@ static void error_inject_removeall(struct gendisk *disk)
|
||||
struct blk_error_inject *inj;
|
||||
|
||||
mutex_lock(&disk->error_injection_lock);
|
||||
clear_bit(GD_ERROR_INJECT, &disk->state);
|
||||
if (test_and_clear_bit(GD_ERROR_INJECT, &disk->state))
|
||||
static_branch_dec(&blk_error_injection_enabled);
|
||||
while ((inj = list_first_entry_or_null(&disk->error_injection_list,
|
||||
struct blk_error_inject, entry))) {
|
||||
list_del_rcu(&inj->entry);
|
||||
kfree_rcu_mightsleep(inj);
|
||||
}
|
||||
static_branch_dec(&blk_error_injection_enabled);
|
||||
mutex_unlock(&disk->error_injection_lock);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user