提交 12b09578 编写于 作者: A Al Viro

link_path_walk: don't bother with walk_component() after jumping link

... it does nothing if nd->last_type is LAST_BIND.
Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 b0c24c3b
......@@ -1797,7 +1797,11 @@ static int link_path_walk(const char *name, struct nameidata *nd)
return err;
}
err = 0;
if (likely(s)) {
if (unlikely(!s)) {
/* jumped */
put_link(nd, &link, cookie);
break;
} else {
if (*s == '/') {
if (!nd->root.mnt)
set_root(nd);
......@@ -1812,9 +1816,9 @@ static int link_path_walk(const char *name, struct nameidata *nd)
put_link(nd, &link, cookie);
break;
}
err = walk_component(nd, LOOKUP_FOLLOW);
put_link(nd, &link, cookie);
}
err = walk_component(nd, LOOKUP_FOLLOW);
put_link(nd, &link, cookie);
} while (err > 0);
current->link_count--;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册