diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2017-04-14 08:08:03 +0200 |
---|---|---|
committer | Shaohua Li <shli@fb.com> | 2017-04-14 08:08:29 -0700 |
commit | 835d89e92fa77b6a1effea3db80202e1ffec413a (patch) | |
tree | 8d5bef922cc4c4eaf39787dc376080fdbeca066a | |
parent | 78b6350dcaadb03b4a2970b16387227ba6744876 (diff) | |
download | linux-exynos-835d89e92fa77b6a1effea3db80202e1ffec413a.tar.gz linux-exynos-835d89e92fa77b6a1effea3db80202e1ffec413a.tar.bz2 linux-exynos-835d89e92fa77b6a1effea3db80202e1ffec413a.zip |
md-cluster: Fix a memleak in an error handling path
We know that 'bm_lockres' is NULL here, so 'lockres_free(bm_lockres)' is a
no-op. According to resource handling in case of error a few lines below,
it is likely that 'bitmap_free(bitmap)' was expected instead.
Fixes: b98938d16a10 ("md-cluster: introduce cluster_check_sync_size")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: Shaohua Li <shli@fb.com>
-rw-r--r-- | drivers/md/md-cluster.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c index b21ef58819f6..7299ce2f08a8 100644 --- a/drivers/md/md-cluster.c +++ b/drivers/md/md-cluster.c @@ -1127,7 +1127,7 @@ int cluster_check_sync_size(struct mddev *mddev) bm_lockres = lockres_init(mddev, str, NULL, 1); if (!bm_lockres) { pr_err("md-cluster: Cannot initialize %s\n", str); - lockres_free(bm_lockres); + bitmap_free(bitmap); return -1; } bm_lockres->flags |= DLM_LKF_NOQUEUE; |