]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
dlm: fix invalid free
authorTycho Andersen <tycho@tycho.ws>
Fri, 2 Nov 2018 20:18:20 +0000 (14:18 -0600)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:17:27 +0000 (09:17 +0100)
[ 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>
fs/dlm/member.c

index 3fda3832cf6a62761e5aa8294c4c1e81919267eb..cad6d85911a8021d616acacebb386f44215f44bb 100644 (file)
@@ -680,7 +680,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);
 
@@ -712,8 +712,9 @@ int dlm_ls_start(struct dlm_ls *ls)
        return 0;
 
  fail:
-       kfree(rv);
        kfree(nodes);
+ fail_rv:
+       kfree(rv);
        return error;
 }