Blob Blame History Raw
From: Mike Snitzer <snitzer@kernel.org>
Date: Tue, 4 Apr 2023 11:59:00 -0400
Subject: [PATCH] dm clone: call kmem_cache_destroy() in dm_clone_init() error
 path
References: bsc#1012628
Patch-mainline: 6.3.2
Git-commit: 6827af4a9a9f5bb664c42abf7c11af4978d72201

commit 6827af4a9a9f5bb664c42abf7c11af4978d72201 upstream.

Otherwise the _hydration_cache will leak if dm_register_target() fails.

Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
 drivers/md/dm-clone-target.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/md/dm-clone-target.c b/drivers/md/dm-clone-target.c
index f38a2760..fc30ebd6 100644
--- a/drivers/md/dm-clone-target.c
+++ b/drivers/md/dm-clone-target.c
@@ -2205,6 +2205,7 @@ static int __init dm_clone_init(void)
 	r = dm_register_target(&clone_target);
 	if (r < 0) {
 		DMERR("Failed to register clone target");
+		kmem_cache_destroy(_hydration_cache);
 		return r;
 	}
 
-- 
2.35.3