From 8b5b59c704e9edbb0784697ada1df9112fc3e18b Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 2 Sep 2023 14:53:59 +0200 Subject: S_dir_lookup: Handle O_DIRECTORY When e.g. looking up a socket with O_DIRECTORY, we should return ENOTDIR rather than EACCESS. --- libnetfs/dir-lookup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'libnetfs/dir-lookup.c') diff --git a/libnetfs/dir-lookup.c b/libnetfs/dir-lookup.c index d77feac8..dfcb7819 100644 --- a/libnetfs/dir-lookup.c +++ b/libnetfs/dir-lookup.c @@ -39,7 +39,7 @@ netfs_S_dir_lookup (struct protid *dircred, { int create; /* true if O_CREAT flag set */ int excl; /* true if O_EXCL flag set */ - int mustbedir = 0; /* true if the result must be S_IFDIR */ + int mustbedir = (flags & O_DIRECTORY) != 0; /* true if the result must be S_IFDIR */ int lastcomp = 0; /* true if we are at the last component */ int newnode = 0; /* true if this node is newly created */ int nsymlinks = 0; -- cgit v1.2.3