From: Alexey Khoroshilov Date: Wed, 1 Oct 2014 20:58:35 +0000 (+0200) Subject: dm log userspace: fix memory leak in dm_ulog_tfr_init failure path X-Git-Tag: submit/tizen/20160422.055611~1^2~99^2~11^2~266 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f693a712421a8ba2b7b84d513bae72a816e7096;p=sdk%2Femulator%2Femulator-kernel.git dm log userspace: fix memory leak in dm_ulog_tfr_init failure path commit 56ec16cb1e1ce46354de8511eef962a417c32c92 upstream. If cn_add_callback() fails in dm_ulog_tfr_init(), it does not deallocate prealloced memory but calls cn_del_callback(). Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov Reviewed-by: Jonathan Brassow Signed-off-by: Mike Snitzer Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/md/dm-log-userspace-transfer.c b/drivers/md/dm-log-userspace-transfer.c index 08d9a207259a..c69d0b787746 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; }