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

Commit d706c400 authored by Al Viro's avatar Al Viro Committed by Sasha Levin
Browse files

fix a braino in ovl_d_select_inode()



[ Upstream commit 9391dd00d13c853ab4f2a85435288ae2202e0e43 ]

when opening a directory we want the overlayfs inode, not one from
the topmost layer.

Reported-By: default avatarAndrey Jr. Melnikov <temnota.am@gmail.com>
Tested-By: default avatarAndrey Jr. Melnikov <temnota.am@gmail.com>
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarSasha Levin <sasha.levin@oracle.com>
parent e93f29ff
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -339,6 +339,9 @@ struct inode *ovl_d_select_inode(struct dentry *dentry, unsigned file_flags)
	struct path realpath;
	enum ovl_path_type type;

	if (d_is_dir(dentry))
		return d_backing_inode(dentry);

	type = ovl_path_real(dentry, &realpath);
	if (ovl_open_need_copy_up(file_flags, type, realpath.dentry)) {
		err = ovl_want_write(dentry);