From mboxrd@z Thu Jan 1 00:00:00 1970 From: Al Viro Subject: [PATCH v3 085/110] namei: may_follow_link() - lift terminate_walk() on failures into caller Date: Mon, 11 May 2015 19:07:45 +0100 Message-ID: <1431367690-5223-85-git-send-email-viro@ZenIV.linux.org.uk> References: <20150511180650.GA4147@ZenIV.linux.org.uk> Cc: Neil Brown , Christoph Hellwig , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org To: Linus Torvalds Return-path: In-Reply-To: <20150511180650.GA4147@ZenIV.linux.org.uk> Sender: linux-kernel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org From: Al Viro Signed-off-by: Al Viro --- fs/namei.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/fs/namei.c b/fs/namei.c index 6d4692d..51e2214 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -798,7 +798,6 @@ static inline int may_follow_link(struct nameidata *nd) return 0; audit_log_link_denied("follow_link", &nd->stack[0].link); - terminate_walk(nd); return -EACCES; } @@ -1980,8 +1979,10 @@ static int trailing_symlink(struct nameidata *nd) { const char *s; int error = may_follow_link(nd); - if (unlikely(error)) + if (unlikely(error)) { + terminate_walk(nd); return error; + } nd->flags |= LOOKUP_PARENT; nd->stack[0].name = NULL; s = get_link(nd); -- 2.1.4