mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-14 18:22:56 +00:00
We should never apply a lookup intent to anything other than the last path component in an open(), create() or access() call. Introduce the helper nfs_lookup_check_intent() which always returns zero if LOOKUP_CONTINUE or LOOKUP_PARENT are set, and returns the intent flags if we're on the last component of the lookup. By doing so, we fix a bug in open(O_EXCL), where we may end up optimizing away a real lookup of the parent directory. Problem noticed by Linda Dunaphant <linda.dunaphant@ccur.com> Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com> Signed-off-by: Linus Torvalds <torvalds@osdl.org> |
History
|
|
|---|---|---|
| .. | ||
| callback.c | ||
| callback.h | ||
| callback_proc.c | ||
| callback_xdr.c | ||
| delegation.c | ||
| delegation.h | ||
| dir.c | ||
| direct.c | ||
| file.c | ||
| idmap.c | ||
| inode.c | ||
| Makefile | ||
| mount_clnt.c | ||
| nfs2xdr.c | ||
| nfs3proc.c | ||
| nfs3xdr.c | ||
| nfs4proc.c | ||
| nfs4renewd.c | ||
| nfs4state.c | ||
| nfs4xdr.c | ||
| nfsroot.c | ||
| pagelist.c | ||
| proc.c | ||
| read.c | ||
| symlink.c | ||
| unlink.c | ||
| write.c | ||