]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/commitdiff
ovl: fix dput() of ERR_PTR in ovl_cleanup_index()
authorAmir Goldstein <amir73il@gmail.com>
Sun, 24 Sep 2017 14:36:26 +0000 (17:36 +0300)
committerSeth Forshee <seth.forshee@canonical.com>
Thu, 19 Oct 2017 14:49:06 +0000 (09:49 -0500)
BugLink: http://bugs.launchpad.net/bugs/1723145
commit 9f4ec904dbd4eb1a2db10d5e7dc16eae386fe64d upstream.

Fixes: caf70cb2ba5d ("ovl: cleanup orphan index entries")
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
fs/overlayfs/util.c

index f46ad75dc96af187ea22990a09e63d051aa4bbca..91f54ed25bd2d54b622453ccd1e2843692219fe2 100644 (file)
@@ -418,7 +418,7 @@ void ovl_inuse_unlock(struct dentry *dentry)
        }
 }
 
-/* Called must hold OVL_I(inode)->oi_lock */
+/* Caller must hold OVL_I(inode)->lock */
 static void ovl_cleanup_index(struct dentry *dentry)
 {
        struct inode *dir = ovl_indexdir(dentry->d_sb)->d_inode;
@@ -457,6 +457,9 @@ static void ovl_cleanup_index(struct dentry *dentry)
        err = PTR_ERR(index);
        if (!IS_ERR(index))
                err = ovl_cleanup(dir, index);
+       else
+               index = NULL;
+
        inode_unlock(dir);
        if (err)
                goto fail;