diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2015-05-03 21:02:40 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2015-05-10 22:20:04 -0400 |
commit | 0fd889d59e12f860358866b6ddeee4bb7011aaad (patch) | |
tree | 37af83c6f5d9644b60d3793b663bbafb71491841 /fs/namei.c | |
parent | f7df08ee05db41c6d2ec498703401197f6b68373 (diff) | |
download | lwn-0fd889d59e12f860358866b6ddeee4bb7011aaad.tar.gz lwn-0fd889d59e12f860358866b6ddeee4bb7011aaad.zip |
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>
Diffstat (limited to 'fs/namei.c')
-rw-r--r-- | fs/namei.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/fs/namei.c b/fs/namei.c index 5753f46d8321..93b5f7353e70 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -918,8 +918,10 @@ const char *get_link(struct nameidata *nd) out: path_put(&nd->path); path_put(&last->link); + return res; } } + nd->depth++; return res; } @@ -1830,11 +1832,9 @@ Walked: } s = get_link(nd); - nd->depth++; if (unlikely(IS_ERR(s))) { err = PTR_ERR(s); - nd->depth--; goto Err; } err = 0; @@ -2009,7 +2009,6 @@ static int trailing_symlink(struct nameidata *nd) s = get_link(nd); if (unlikely(IS_ERR(s))) return PTR_ERR(s); - nd->depth++; if (unlikely(!s)) { nd->depth--; return 0; |