mirror of
https://github.com/torvalds/linux.git
synced 2024-11-10 14:11:52 +00:00
path_init(): make -ENOTDIR failure exits consistent
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
582aa64a04
commit
741b7c3f77
@ -1859,7 +1859,7 @@ static int path_init(int dfd, const char *name, unsigned int flags,
|
||||
if (flags & LOOKUP_ROOT) {
|
||||
struct inode *inode = nd->root.dentry->d_inode;
|
||||
if (*name) {
|
||||
if (!inode->i_op->lookup)
|
||||
if (!can_lookup(inode))
|
||||
return -ENOTDIR;
|
||||
retval = inode_permission(inode, MAY_EXEC);
|
||||
if (retval)
|
||||
@ -1913,7 +1913,7 @@ static int path_init(int dfd, const char *name, unsigned int flags,
|
||||
dentry = f.file->f_path.dentry;
|
||||
|
||||
if (*name) {
|
||||
if (!S_ISDIR(dentry->d_inode->i_mode)) {
|
||||
if (!can_lookup(dentry->d_inode)) {
|
||||
fdput(f);
|
||||
return -ENOTDIR;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user