Loading fs/namei.c +10 −5 Original line number Diff line number Diff line Loading @@ -2009,8 +2009,11 @@ static int trailing_symlink(struct nameidata *nd) s = get_link(nd); if (unlikely(IS_ERR(s))) return PTR_ERR(s); if (unlikely(!s)) nd->depth++; if (unlikely(!s)) { nd->depth--; return 0; } if (*s == '/') { if (!nd->root.mnt) set_root(nd); Loading @@ -2020,13 +2023,15 @@ static int trailing_symlink(struct nameidata *nd) nd->flags |= LOOKUP_JUMPED; } nd->inode = nd->path.dentry->d_inode; nd->depth++; error = link_path_walk(s, nd); if (unlikely(error)) { nd->depth--; if (unlikely(error)) put_link(nd); return error; } nd->depth--; return 0; } static inline int lookup_last(struct nameidata *nd) { Loading Loading
fs/namei.c +10 −5 Original line number Diff line number Diff line Loading @@ -2009,8 +2009,11 @@ static int trailing_symlink(struct nameidata *nd) s = get_link(nd); if (unlikely(IS_ERR(s))) return PTR_ERR(s); if (unlikely(!s)) nd->depth++; if (unlikely(!s)) { nd->depth--; return 0; } if (*s == '/') { if (!nd->root.mnt) set_root(nd); Loading @@ -2020,13 +2023,15 @@ static int trailing_symlink(struct nameidata *nd) nd->flags |= LOOKUP_JUMPED; } nd->inode = nd->path.dentry->d_inode; nd->depth++; error = link_path_walk(s, nd); if (unlikely(error)) { nd->depth--; if (unlikely(error)) put_link(nd); return error; } nd->depth--; return 0; } static inline int lookup_last(struct nameidata *nd) { Loading