summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@kernel.org>2023-04-04 13:34:28 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-05-17 11:11:47 +0200
commitff4d6b5b38429a7731e5593680d2138bf74dd546 (patch)
tree48f0ae1b549ce7bb5a01750f8bc77255a93f1166 /drivers
parent57b0acfc046b19c7668d36634b34a7590815fdaf (diff)
downloadlinux-stable-ff4d6b5b38429a7731e5593680d2138bf74dd546.tar.gz
linux-stable-ff4d6b5b38429a7731e5593680d2138bf74dd546.tar.bz2
linux-stable-ff4d6b5b38429a7731e5593680d2138bf74dd546.zip
dm integrity: call kmem_cache_destroy() in dm_integrity_init() error path
commit 6b79a428c02769f2a11f8ae76bf866226d134887 upstream. Otherwise the journal_io_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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/md/dm-integrity.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/md/dm-integrity.c b/drivers/md/dm-integrity.c
index 6579aa46f544..94ab60397c95 100644
--- a/drivers/md/dm-integrity.c
+++ b/drivers/md/dm-integrity.c
@@ -3274,11 +3274,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)