OSDN Git Service

merging pick_link() with get_link(), part 3
authorAl Viro <viro@zeniv.linux.org.uk>
Tue, 14 Jan 2020 18:07:57 +0000 (13:07 -0500)
committerAl Viro <viro@zeniv.linux.org.uk>
Sat, 14 Mar 2020 01:08:18 +0000 (21:08 -0400)
commit40fcf5a931af901198fcfb23a50354e54e1fa7a6
treea063857b5ab2c4d4c4e3ba38a7c8eb328f663196
parent1ccac622f9da58a113f9c5b8c9d07d76b60bc555
merging pick_link() with get_link(), part 3

After a pure jump ("/" or procfs-style symlink) we don't need to
hold the link anymore.  link_path_walk() dropped it if such case
had been detected, lookup_last/do_last() (i.e. old trailing_symlink())
left it on the stack - it ended up calling terminate_walk() shortly
anyway, which would've purged the entire stack.

Do it in get_link() itself instead.  Simpler logics that way...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
fs/namei.c