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

Commit cdce5d6b authored by Trond Myklebust's avatar Trond Myklebust
Browse files

VFS: Make link_path_walk set LOOKUP_CONTINUE before calling permission().



 This will allow nfs_permission() to perform additional optimizations when
 walking the path, by folding the ACCESS(MAY_EXEC) call on the directory
 into the lookup revalidation.

 Signed-off-by: default avatarTrond Myklebust <Trond.Myklebust@netapp.com>
parent 6f926b5b
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -763,6 +763,7 @@ static fastcall int __link_path_walk(const char * name, struct nameidata *nd)
		struct qstr this;
		unsigned int c;

		nd->flags |= LOOKUP_CONTINUE;
		err = exec_permission_lite(inode, nd);
		if (err == -EAGAIN) { 
			err = permission(inode, MAY_EXEC, nd);
@@ -815,7 +816,6 @@ static fastcall int __link_path_walk(const char * name, struct nameidata *nd)
			if (err < 0)
				break;
		}
		nd->flags |= LOOKUP_CONTINUE;
		/* This does the actual lookups.. */
		err = do_lookup(nd, &this, &next);
		if (err)