From: Al Viro <[email protected]>

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

Signed-off-by: Al Viro <[email protected]>
---
 fs/namei.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/fs/namei.c b/fs/namei.c
index 51bcbec..f81a029 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;
 }
 
@@ -1822,11 +1824,9 @@ Walked:
                        }
 
                        s = get_link(nd);
-                       nd->depth++;
 
                        if (unlikely(IS_ERR(s))) {
                                err = PTR_ERR(s);
-                               nd->depth--;
                                goto Err;
                        }
                        err = 0;
@@ -2001,7 +2001,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;
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to