lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sun, 17 Nov 2019 12:17:01 +1100 From: Aleksa Sarai <cyphar@...har.com> To: Al Viro <viro@...iv.linux.org.uk>, Jeff Layton <jlayton@...nel.org>, "J. Bruce Fields" <bfields@...ldses.org>, Arnd Bergmann <arnd@...db.de>, David Howells <dhowells@...hat.com>, Shuah Khan <shuah@...nel.org>, Shuah Khan <skhan@...uxfoundation.org>, Ingo Molnar <mingo@...hat.com>, Peter Zijlstra <peterz@...radead.org>, Alexei Starovoitov <ast@...nel.org>, Daniel Borkmann <daniel@...earbox.net>, Martin KaFai Lau <kafai@...com>, Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>, Andrii Nakryiko <andriin@...com>, Jonathan Corbet <corbet@....net> Cc: Aleksa Sarai <cyphar@...har.com>, "Eric W. Biederman" <ebiederm@...ssion.com>, Andy Lutomirski <luto@...nel.org>, Andrew Morton <akpm@...ux-foundation.org>, Kees Cook <keescook@...omium.org>, Jann Horn <jannh@...gle.com>, Tycho Andersen <tycho@...ho.ws>, David Drysdale <drysdale@...gle.com>, Chanho Min <chanho.min@....com>, Oleg Nesterov <oleg@...hat.com>, Rasmus Villemoes <linux@...musvillemoes.dk>, Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...hat.com>, Namhyung Kim <namhyung@...nel.org>, Christian Brauner <christian@...uner.io>, Aleksa Sarai <asarai@...e.de>, Linus Torvalds <torvalds@...ux-foundation.org>, dev@...ncontainers.org, containers@...ts.linux-foundation.org, bpf@...r.kernel.org, netdev@...r.kernel.org, linux-alpha@...r.kernel.org, linux-api@...r.kernel.org, libc-alpha@...rceware.org, linux-arch@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, linux-doc@...r.kernel.org, linux-fsdevel@...r.kernel.org, linux-ia64@...r.kernel.org, linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org, linux-m68k@...ts.linux-m68k.org, linux-mips@...r.kernel.org, linux-parisc@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org, linux-s390@...r.kernel.org, linux-sh@...r.kernel.org, linux-xtensa@...ux-xtensa.org, sparclinux@...r.kernel.org Subject: [PATCH v17 01/13] namei: only return -ECHILD from follow_dotdot_rcu() It's over-zealous to return hard errors under RCU-walk here, given that a REF-walk will be triggered for all other cases handling ".." under RCU. The original purpose of this check was to ensure that if a rename occurs such that a directory is moved outside of the bind-mount which the resolution started in, it would be detected and blocked to avoid being able to mess with paths outside of the bind-mount. However, triggering a new REF-walk is just as effective a solution. Cc: "Eric W. Biederman" <ebiederm@...ssion.com> Fixes: 397d425dc26d ("vfs: Test for and handle paths that are unreachable from their mnt_root") Suggested-by: Al Viro <viro@...iv.linux.org.uk> Signed-off-by: Aleksa Sarai <cyphar@...har.com> --- fs/namei.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/namei.c b/fs/namei.c index 671c3c1a3425..5a47d9c09581 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -1359,7 +1359,7 @@ static int follow_dotdot_rcu(struct nameidata *nd) nd->path.dentry = parent; nd->seq = seq; if (unlikely(!path_connected(&nd->path))) - return -ENOENT; + return -ECHILD; break; } else { struct mount *mnt = real_mount(nd->path.mnt); -- 2.24.0
Powered by blists - more mailing lists