Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a4859d75 authored by Miklos Szeredi's avatar Miklos Szeredi
Browse files

ovl: fix dentry leak for default_permissions



When using the 'default_permissions' mount option, ovl_permission() on
non-directories was missing a dput(alias), resulting in "BUG Dentry still
in use".

Signed-off-by: default avatarMiklos Szeredi <mszeredi@redhat.com>
Fixes: 8d3095f4 ("ovl: default permissions")
Cc: <stable@vger.kernel.org> # v4.5+
parent 4c2e07c6
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -121,16 +121,18 @@ int ovl_permission(struct inode *inode, int mask)

		err = vfs_getattr(&realpath, &stat);
		if (err)
			return err;
			goto out_dput;

		err = -ESTALE;
		if ((stat.mode ^ inode->i_mode) & S_IFMT)
			return -ESTALE;
			goto out_dput;

		inode->i_mode = stat.mode;
		inode->i_uid = stat.uid;
		inode->i_gid = stat.gid;

		return generic_permission(inode, mask);
		err = generic_permission(inode, mask);
		goto out_dput;
	}

	/* Careful in RCU walk mode */