diff --git a/fs/namei.c b/fs/namei.c index 4bb889fc980b..291f29a04e09 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -2005,6 +2005,10 @@ static const char *step_into(struct nameidata *nd, int flags, if (path.mnt == nd->path.mnt) mntget(path.mnt); } + + if (inode && !S_ISLINK(inode->mode)) + return NULL; + return pick_link(nd, &path, inode, flags); }