namei: simpler treatment of symlinks with nothing other that / in the body
Instead of saving name and branching to OK:, where we'll immediately restore it, and call walk_component() with WALK_PUT|WALK_GET and nd->last_type being LAST_BIND, which is equivalent to put_link(nd), err = 0, we can just treat that the same way we'd treat procfs-style "jump" symlinks - do put_link(nd) and move on. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
6920a4405e
commit
4f697a5e17
|
@ -1865,13 +1865,15 @@ OK:
|
|||
;
|
||||
}
|
||||
nd->inode = nd->path.dentry->d_inode;
|
||||
if (unlikely(!*s)) {
|
||||
put_link(nd);
|
||||
} else {
|
||||
nd->stack[nd->depth - 1].name = name;
|
||||
if (!*s)
|
||||
goto OK;
|
||||
name = s;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!d_can_lookup(nd->path.dentry)) {
|
||||
err = -ENOTDIR;
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue