afs: Add missing afs_put_cell()

"Linux Kernel Mailing List" <[email protected]>
Newsgroups gmane.linux.kernel.commits.head
Message-ID <[email protected]>
Web:        https://git.kernel.org/torvalds/c/e44150157f42219fa5c074588efdb31ccfb197fc
Commit:     e44150157f42219fa5c074588efdb31ccfb197fc
Parent:     e237f98a9c134c3d600353f21e07db915516875b
Refname:    refs/heads/master
Author:     David Howells <[email protected]>
AuthorDate: Tue Feb 6 09:26:27 2018 +0000
Committer:  David Howells <[email protected]>
CommitDate: Tue Feb 6 14:22:03 2018 +0000

    afs: Add missing afs_put_cell()
    
    afs_alloc_volume() needs to release the cell ref it obtained in the case of
    an error.  Fix this by adding an afs_put_cell() call into the error path.
    
    This can triggered when a lookup for a cell in a dynamic root or an
    autocell mount returns an error whilst trying to look up the server (such
    as ENOMEDIUM).  This results in an assertion failure oops when the module
    is unloaded due to outstanding refs on a cell record.
    
    Fixes: d2ddc776a458 ("afs: Overhaul volume and server record caching and fileserver rotation")
    Signed-off-by: David Howells <[email protected]>
    cc: [email protected]
---
 fs/afs/volume.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/fs/afs/volume.c b/fs/afs/volume.c
index 684c48293353..79db9021f140 100644
--- a/fs/afs/volume.c
+++ b/fs/afs/volume.c
@@ -102,6 +102,7 @@ static struct afs_volume *afs_alloc_volume(struct afs_mount_params *params,
 error_2:
 	afs_put_serverlist(params->net, slist);
 error_1:
+	afs_put_cell(params->net, volume->cell);
 	kfree(volume);
 error_0:
 	return ERR_PTR(ret);
--
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.