get_link: nd->depth massage, part 6

make get_link() increment nd->depth on successful exit

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
Al Viro 2015-05-03 21:02:40 -04:00
parent f7df08ee05
commit 0fd889d59e
1 changed files with 2 additions and 3 deletions

View File

@ -918,8 +918,10 @@ const char *get_link(struct nameidata *nd)
out: out:
path_put(&nd->path); path_put(&nd->path);
path_put(&last->link); path_put(&last->link);
return res;
} }
} }
nd->depth++;
return res; return res;
} }
@ -1830,11 +1832,9 @@ Walked:
} }
s = get_link(nd); s = get_link(nd);
nd->depth++;
if (unlikely(IS_ERR(s))) { if (unlikely(IS_ERR(s))) {
err = PTR_ERR(s); err = PTR_ERR(s);
nd->depth--;
goto Err; goto Err;
} }
err = 0; err = 0;
@ -2009,7 +2009,6 @@ static int trailing_symlink(struct nameidata *nd)
s = get_link(nd); s = get_link(nd);
if (unlikely(IS_ERR(s))) if (unlikely(IS_ERR(s)))
return PTR_ERR(s); return PTR_ERR(s);
nd->depth++;
if (unlikely(!s)) { if (unlikely(!s)) {
nd->depth--; nd->depth--;
return 0; return 0;