Commit 650266ac authored by Dan Carpenter's avatar Dan Carpenter Committed by Mikulas Patocka
Browse files

dm: add missing unlock on in dm_keyslot_evict()



We need to call dm_put_live_table() even if dm_get_live_table() returns
NULL.

Fixes: 9355a9eb ("dm: support key eviction from keyslot managers of underlying devices")
Cc: stable@vger.kernel.org	# v5.12+
Signed-off-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: default avatarMikulas Patocka <mpatocka@redhat.com>
parent 5a2a6c42
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -1173,7 +1173,7 @@ static int dm_keyslot_evict(struct blk_crypto_profile *profile,

	t = dm_get_live_table(md, &srcu_idx);
	if (!t)
		return 0;
		goto put_live_table;

	for (unsigned int i = 0; i < t->num_targets; i++) {
		struct dm_target *ti = dm_table_get_target(t, i);
@@ -1184,6 +1184,7 @@ static int dm_keyslot_evict(struct blk_crypto_profile *profile,
					  (void *)key);
	}

put_live_table:
	dm_put_live_table(md, srcu_idx);
	return 0;
}