From 6b79a428c02769f2a11f8ae76bf866226d134887 Mon Sep 17 00:00:00 2001
From: Mike Snitzer <snitzer@kernel.org>
Date: Tue, 4 Apr 2023 13:34:28 -0400
Subject: [PATCH] dm integrity: call kmem_cache_destroy() in
dm_integrity_init() error path
Git-commit: 6b79a428c02769f2a11f8ae76bf866226d134887
Patch-mainline: v6.4-rc1
References: git-fixes
Otherwise the journal_io_cache will leak if dm_register_target() fails.
(Coly Li: refreshed for Linux 4.12 based SUSE kernel)
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Coly Li <colyli@suse.de>
---
drivers/md/dm-integrity.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -3630,11 +3630,13 @@ int __init dm_integrity_init(void)
}
r = dm_register_target(&integrity_target);
-
- if (r < 0)
+ if (r < 0) {
DMERR("register failed %d", r);
+ kmem_cache_destroy(journal_io_cache);
+ return r;
+ }
- return r;
+ return 0;
}
void dm_integrity_exit(void)