History

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")

Christophe JAILLET committed 9 years ago

Commit 835d89e1 parent 78b63501 file · +1 −1Browse files

Unified · Split

drivers/md/md-cluster.c+1−1
@@ -1127,7 +1127,7 @@ int cluster_check_sync_size(struct mddev *mddev) · 1126 unmodified lines
1127 bm_lockres = lockres_init(mddev, str, NULL, 1);1127 bm_lockres = lockres_init(mddev, str, NULL, 1);
1128 if (!bm_lockres) {1128 if (!bm_lockres) {
1129 pr_err("md-cluster: Cannot initialize %s\n", str);1129 pr_err("md-cluster: Cannot initialize %s\n", str);
1130 lockres_free(bm_lockres);1130 bitmap_free(bitmap);
1131 return -1;1131 return -1;
1132 }1132 }
1133 bm_lockres->flags |= DLM_LKF_NOQUEUE;1133 bm_lockres->flags |= DLM_LKF_NOQUEUE;