summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorTycho Andersen <tycho@tycho.ws>2018-11-02 23:18:20 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2019-11-28 20:26:07 +0300
commitacc555689f39c73a1b8926d20e8ccaa278f0aee6 (patch)
tree88da6f60e32c15865231536ce0b2a1c0496ec3e8 /fs
parent9d4c8d7bae138e26698d445b1bf3f455eb3bc56d (diff)
downloadlinux-acc555689f39c73a1b8926d20e8ccaa278f0aee6.tar.xz
dlm: fix invalid free
[ Upstream commit d968b4e240cfe39d39d80483bac8bca8716fd93c ] dlm_config_nodes() does not allocate nodes on failure, so we should not free() nodes when it fails. Signed-off-by: Tycho Andersen <tycho@tycho.ws> Signed-off-by: David Teigland <teigland@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/dlm/member.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/fs/dlm/member.c b/fs/dlm/member.c
index 9c47f1c14a8b..a47ae99f7bcb 100644
--- a/fs/dlm/member.c
+++ b/fs/dlm/member.c
@@ -683,7 +683,7 @@ int dlm_ls_start(struct dlm_ls *ls)
error = dlm_config_nodes(ls->ls_name, &nodes, &count);
if (error < 0)
- goto fail;
+ goto fail_rv;
spin_lock(&ls->ls_recover_lock);
@@ -715,8 +715,9 @@ int dlm_ls_start(struct dlm_ls *ls)
return 0;
fail:
- kfree(rv);
kfree(nodes);
+ fail_rv:
+ kfree(rv);
return error;
}