From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexey Khoroshilov Subject: [PATCH] dm-log-userspace: fix memory leak on failure path in dm_ulog_tfr_init() Date: Wed, 1 Oct 2014 22:58:35 +0200 Message-ID: <1412197115-32593-1-git-send-email-khoroshilov@ispras.ru> Return-path: Sender: linux-kernel-owner@vger.kernel.org To: Alasdair Kergon , Mike Snitzer Cc: Alexey Khoroshilov , dm-devel@redhat.com, Neil Brown , linux-raid@vger.kernel.org, linux-kernel@vger.kernel.org, ldv-project@linuxtesting.org List-Id: linux-raid.ids If cn_add_callback() fails in dm_ulog_tfr_init(), it does not deallocate prealloced memory but calls cn_del_callback(). It looks like a misprint. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov --- drivers/md/dm-log-userspace-transfer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/md/dm-log-userspace-transfer.c b/drivers/md/dm-log-userspace-transfer.c index b428c0ae63d5..39ad9664d397 100644 --- a/drivers/md/dm-log-userspace-transfer.c +++ b/drivers/md/dm-log-userspace-transfer.c @@ -272,7 +272,7 @@ int dm_ulog_tfr_init(void) r = cn_add_callback(&ulog_cn_id, "dmlogusr", cn_ulog_callback); if (r) { - cn_del_callback(&ulog_cn_id); + kfree(prealloced_cn_msg); return r; } -- 1.9.1