diff --git a/fs/namei.c b/fs/namei.c index a4034255d827..3df4731a7467 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -539,7 +539,7 @@ static int __nd_alloc_stack(struct nameidata *nd) static inline int nd_alloc_stack(struct nameidata *nd) { - if (likely(nd->depth != EMBEDDED_LEVELS - 1)) + if (likely(nd->depth != EMBEDDED_LEVELS)) return 0; if (likely(nd->stack != nd->internal)) return 0; @@ -1824,9 +1824,7 @@ static int link_path_walk(const char *name, struct nameidata *nd) if (err) { const char *s; - nd->depth--; err = nd_alloc_stack(nd); - nd->depth++; if (unlikely(err)) { path_to_nameidata(&nd->link, nd); break;