All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Viro <viro@zeniv.linux.org.uk>
To: Aleksa Sarai <cyphar@cyphar.com>
Cc: Jeff Layton <jlayton@kernel.org>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Arnd Bergmann <arnd@arndb.de>,
	David Howells <dhowells@redhat.com>,
	Shuah Khan <shuah@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Christian Brauner <christian.brauner@ubuntu.com>,
	Jann Horn <jannh@google.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Eric Biederman <ebiederm@xmission.com>,
	Andy Lutomirski <luto@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Kees Cook <keescook@chromium.org>,
	Tycho Andersen <tycho@tycho.ws>,
	David Drysdale <drysdale@google.com>,
	Chanho Min <chanho.min@lge.com>, Oleg Nesterov <oleg@redhat.com>
Subject: Re: [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
Date: Wed, 13 Nov 2019 02:09:17 +0000	[thread overview]
Message-ID: <20191113020917.GC26530@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20191105090553.6350-7-cyphar@cyphar.com>

On Tue, Nov 05, 2019 at 08:05:50PM +1100, Aleksa Sarai wrote:

> One other possible alternative (which previous versions of this patch
> used) would be to check with path_is_under() if there was a racing
> rename or mount (after re-taking the relevant seqlocks). While this does
> work, it results in possible O(n*m) behaviour if there are many renames
> or mounts occuring *anywhere on the system*.

BTW, do you realize that open-by-fhandle (or working nfsd, for that matter)
will trigger arseloads of write_seqlock(&rename_lock) simply on d_splice_alias()
bringing disconnected subtrees in contact with parent?

WARNING: multiple messages have this Message-ID (diff)
From: Al Viro <viro@zeniv.linux.org.uk>
To: Aleksa Sarai <cyphar@cyphar.com>
Cc: Jeff Layton <jlayton@kernel.org>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	Arnd Bergmann <arnd@arndb.de>,
	David Howells <dhowells@redhat.com>,
	Shuah Khan <shuah@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Ingo Molnar <mingo@redhat.com>,
	Peter Zijlstra <peterz@infradead.org>,
	Christian Brauner <christian.brauner@ubuntu.com>,
	Jann Horn <jannh@google.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Eric Biederman <ebiederm@xmission.com>,
	Andy Lutomirski <luto@kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Kees Cook <keescook@chromium.org>,
	Tycho Andersen <tycho@tycho.ws>,
	David Drysdale <drysdale@google.com>,
	Chanho Min <chanho.min@lge.com>, Oleg Nesterov <oleg@redhat.com>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Jiri Olsa <jolsa@redhat.com>, Namhyung Kim <namhyung@kernel.org>,
	Christian Brauner <christian@brauner.io>,
	Aleksa Sarai <asarai@suse.de>,
	containers@lists.linux-foundation.org,
	linux-alpha@vger.kernel.org, linux-api@vger.kernel.org,
	libc-alpha@sourceware.org, linux-arch@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-fsdevel@vger.kernel.org, linux-ia64@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org,
	linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org,
	linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-s390@vger.kernel.org, linux-sh@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, sparclinux@vger.kernel.org
Subject: Re: [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
Date: Wed, 13 Nov 2019 02:09:17 +0000	[thread overview]
Message-ID: <20191113020917.GC26530@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20191105090553.6350-7-cyphar@cyphar.com>

On Tue, Nov 05, 2019 at 08:05:50PM +1100, Aleksa Sarai wrote:

> One other possible alternative (which previous versions of this patch
> used) would be to check with path_is_under() if there was a racing
> rename or mount (after re-taking the relevant seqlocks). While this does
> work, it results in possible O(n*m) behaviour if there are many renames
> or mounts occuring *anywhere on the system*.

BTW, do you realize that open-by-fhandle (or working nfsd, for that matter)
will trigger arseloads of write_seqlock(&rename_lock) simply on d_splice_alias()
bringing disconnected subtrees in contact with parent?

WARNING: multiple messages have this Message-ID (diff)
From: Al Viro <viro@zeniv.linux.org.uk>
To: Aleksa Sarai <cyphar@cyphar.com>
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Alexei Starovoitov <ast@kernel.org>,
	linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>,
	linux-kselftest@vger.kernel.org, sparclinux@vger.kernel.org,
	Christian Brauner <christian.brauner@ubuntu.com>,
	Shuah Khan <shuah@kernel.org>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Tycho Andersen <tycho@tycho.ws>, Aleksa Sarai <asarai@suse.de>,
	Jiri Olsa <jolsa@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, Kees Cook <keescook@chromium.org>,
	Arnd Bergmann <arnd@arndb.de>, Jann Horn <jannh@google.com>,
	linuxppc-dev@lists.ozlabs.org, linux-m68k@lists.linux-m68k.org,
	Andy Lutomirski <luto@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Namhyung Kim <namhyung@kernel.org>,
	David Drysdale <drysdale@google.com>,
	Christian Brauner <christian@brauner.io>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	libc-alpha@sourceware.org, linux-parisc@vger.kernel.org,
	linux-api@vger.kernel.org, Chanho Min <chanho.min@lge.com>,
	Jeff Layton <jlayton@kernel.org>, Oleg Nesterov <oleg@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	linux-alpha@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	containers@lists.linux-foundation.org
Subject: Re: [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
Date: Wed, 13 Nov 2019 02:09:17 +0000	[thread overview]
Message-ID: <20191113020917.GC26530@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20191105090553.6350-7-cyphar@cyphar.com>

On Tue, Nov 05, 2019 at 08:05:50PM +1100, Aleksa Sarai wrote:

> One other possible alternative (which previous versions of this patch
> used) would be to check with path_is_under() if there was a racing
> rename or mount (after re-taking the relevant seqlocks). While this does
> work, it results in possible O(n*m) behaviour if there are many renames
> or mounts occuring *anywhere on the system*.

BTW, do you realize that open-by-fhandle (or working nfsd, for that matter)
will trigger arseloads of write_seqlock(&rename_lock) simply on d_splice_alias()
bringing disconnected subtrees in contact with parent?

WARNING: multiple messages have this Message-ID (diff)
From: Al Viro <viro@zeniv.linux.org.uk>
To: Aleksa Sarai <cyphar@cyphar.com>
Cc: linux-ia64@vger.kernel.org, linux-sh@vger.kernel.org,
	Peter Zijlstra <peterz@infradead.org>,
	Rasmus Villemoes <linux@rasmusvillemoes.dk>,
	Alexei Starovoitov <ast@kernel.org>,
	linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>,
	linux-kselftest@vger.kernel.org, sparclinux@vger.kernel.org,
	Christian Brauner <christian.brauner@ubuntu.com>,
	Shuah Khan <shuah@kernel.org>,
	linux-arch@vger.kernel.org, linux-s390@vger.kernel.org,
	Tycho Andersen <tycho@tycho.ws>, Aleksa Sarai <asarai@suse.de>,
	Jiri Olsa <jolsa@redhat.com>,
	Alexander Shishkin <alexander.shishkin@linux.intel.com>,
	Ingo Molnar <mingo@redhat.com>,
	linux-arm-kernel@lists.infradead.org, linux-mips@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, Kees Cook <keescook@chromium.org>,
	Arnd Bergmann <arnd@arndb.de>, Jann Horn <jannh@google.com>,
	linuxppc-dev@lists.ozlabs.org, linux-m68k@lists.linux-m68k.org,
	Andy Lutomirski <luto@kernel.org>,
	Shuah Khan <skhan@linuxfoundation.org>,
	Namhyung Kim <namhyung@kernel.org>,
	David Drysdale <drysdale@google.com>,
	Christian Brauner <christian@brauner.io>,
	"J. Bruce Fields" <bfields@fieldses.org>,
	libc-alpha@sourceware.org, linux-parisc@vger.kernel.org,
	linux-api@vger.kernel.org, Chanho Min <chanho.min@lge.com>,
	Jeff Layton <jlayton@kernel.org>, Oleg Nesterov <oleg@redhat.com>,
	Eric Biederman <ebiederm@xmission.com>,
	linux-alpha@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	Andrew Morton <akpm@linux-foundation.org>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	containers@lists.linux-foundation.org
Subject: Re: [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution
Date: Wed, 13 Nov 2019 02:09:17 +0000	[thread overview]
Message-ID: <20191113020917.GC26530@ZenIV.linux.org.uk> (raw)
In-Reply-To: <20191105090553.6350-7-cyphar@cyphar.com>

On Tue, Nov 05, 2019 at 08:05:50PM +1100, Aleksa Sarai wrote:

> One other possible alternative (which previous versions of this patch
> used) would be to check with path_is_under() if there was a racing
> rename or mount (after re-taking the relevant seqlocks). While this does
> work, it results in possible O(n*m) behaviour if there are many renames
> or mounts occuring *anywhere on the system*.

BTW, do you realize that open-by-fhandle (or working nfsd, for that matter)
will trigger arseloads of write_seqlock(&rename_lock) simply on d_splice_alias()
bringing disconnected subtrees in contact with parent?

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-11-13  2:09 UTC|newest]

Thread overview: 151+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-05  9:05 [PATCH v15 0/9] open: introduce openat2(2) syscall Aleksa Sarai
2019-11-05  9:05 ` Aleksa Sarai
2019-11-05  9:05 ` Aleksa Sarai
2019-11-05  9:05 ` Aleksa Sarai
2019-11-05  9:05 ` Aleksa Sarai
2019-11-05  9:05 ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 1/9] namei: LOOKUP_NO_SYMLINKS: block symlink resolution Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 2/9] namei: LOOKUP_NO_MAGICLINKS: block magic-link resolution Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  1:24   ` Al Viro
2019-11-13  1:24     ` Al Viro
2019-11-13  1:24     ` Al Viro
2019-11-13  1:24     ` Al Viro
2019-11-05  9:05 ` [PATCH v15 3/9] namei: LOOKUP_NO_XDEV: block mountpoint crossing Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  1:36   ` Al Viro
2019-11-13  1:36     ` Al Viro
2019-11-13  1:36     ` Al Viro
2019-11-13  1:36     ` Al Viro
2019-11-13  1:36     ` Al Viro
2019-11-14  4:49     ` Aleksa Sarai
2019-11-14  4:49       ` Aleksa Sarai
2019-11-14  4:49       ` Aleksa Sarai
2019-11-14  4:49       ` Aleksa Sarai
2019-11-14  4:49       ` Aleksa Sarai
2019-11-14  5:43       ` Al Viro
2019-11-14  5:43         ` Al Viro
2019-11-14  5:43         ` Al Viro
2019-11-14  5:43         ` Al Viro
2019-11-14  5:43         ` Al Viro
2019-11-14 13:33         ` Aleksa Sarai
2019-11-14 13:33           ` Aleksa Sarai
2019-11-14 13:33           ` Aleksa Sarai
2019-11-14 13:33           ` Aleksa Sarai
2019-11-14 13:33           ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 4/9] namei: LOOKUP_BENEATH: O_BENEATH-like scoped resolution Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  1:55   ` Al Viro
2019-11-13  1:55     ` Al Viro
2019-11-13  1:55     ` Al Viro
2019-11-13  1:55     ` Al Viro
2019-11-13  1:55     ` Al Viro
2019-11-13  7:47     ` Aleksa Sarai
2019-11-13  7:47       ` Aleksa Sarai
2019-11-13  7:47       ` Aleksa Sarai
2019-11-13  7:47       ` Aleksa Sarai
2019-11-13  7:47       ` Aleksa Sarai
2019-11-14  4:57       ` Aleksa Sarai
2019-11-14  4:57         ` Aleksa Sarai
2019-11-14  4:57         ` Aleksa Sarai
2019-11-14  4:57         ` Aleksa Sarai
2019-11-14  4:57         ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 5/9] namei: LOOKUP_IN_ROOT: chroot-like " Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  2:03   ` Al Viro
2019-11-13  2:03     ` Al Viro
2019-11-13  2:03     ` Al Viro
2019-11-13  2:03     ` Al Viro
2019-11-13  2:03     ` Al Viro
2019-11-13  2:44     ` Aleksa Sarai
2019-11-13  2:44       ` Aleksa Sarai
2019-11-13  2:44       ` Aleksa Sarai
2019-11-13  2:44       ` Aleksa Sarai
2019-11-13  2:44       ` Aleksa Sarai
2019-11-13  2:59       ` Al Viro
2019-11-13  2:59         ` Al Viro
2019-11-13  2:59         ` Al Viro
2019-11-13  2:59         ` Al Viro
2019-11-13  2:59         ` Al Viro
2019-11-13  3:55         ` Aleksa Sarai
2019-11-13  3:55           ` Aleksa Sarai
2019-11-13  3:55           ` Aleksa Sarai
2019-11-13  3:55           ` Aleksa Sarai
2019-11-13  3:55           ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: permit limited ".." resolution Aleksa Sarai
2019-11-05  9:05   ` [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT, BENEATH}: " Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` [PATCH v15 6/9] namei: LOOKUP_{IN_ROOT,BENEATH}: " Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  2:09   ` Al Viro [this message]
2019-11-13  2:09     ` Al Viro
2019-11-13  2:09     ` Al Viro
2019-11-13  2:09     ` Al Viro
2019-11-13  7:52     ` Aleksa Sarai
2019-11-13  7:52       ` Aleksa Sarai
2019-11-13  7:52       ` Aleksa Sarai
2019-11-13  7:52       ` Aleksa Sarai
2019-11-13  7:52       ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 7/9] open: introduce openat2(2) syscall Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-13  2:29   ` Al Viro
2019-11-13  2:29     ` Al Viro
2019-11-13  2:29     ` Al Viro
2019-11-13  2:29     ` Al Viro
2019-11-13  2:35     ` Aleksa Sarai
2019-11-13  2:35       ` Aleksa Sarai
2019-11-13  2:35       ` Aleksa Sarai
2019-11-13  2:35       ` Aleksa Sarai
2019-11-13  2:35       ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 8/9] selftests: add openat2(2) selftests Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05 ` [PATCH v15 9/9] Documentation: path-lookup: mention LOOKUP_MAGICLINK_JUMPED Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-05  9:05   ` Aleksa Sarai
2019-11-11 13:24 ` [PATCH v15 0/9] open: introduce openat2(2) syscall Aleksa Sarai
2019-11-11 13:24   ` Aleksa Sarai
2019-11-11 13:24   ` Aleksa Sarai
2019-11-11 13:24   ` Aleksa Sarai
2019-11-11 13:24   ` Aleksa Sarai
2019-11-12 23:01   ` Kees Cook
2019-11-12 23:01     ` Kees Cook
2019-11-12 23:01     ` Kees Cook
2019-11-12 23:01     ` Kees Cook
2019-11-12 23:01     ` Kees Cook
2019-11-12 23:06     ` Christian Brauner
2019-11-12 23:06       ` Christian Brauner
2019-11-12 23:06       ` Christian Brauner
2019-11-12 23:06       ` Christian Brauner
2019-11-12 23:06       ` Christian Brauner
2019-11-13  0:46     ` Aleksa Sarai
2019-11-13  0:46       ` Aleksa Sarai
2019-11-13  0:46       ` Aleksa Sarai
2019-11-13  0:46       ` Aleksa Sarai
2019-11-13  0:46       ` Aleksa Sarai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191113020917.GC26530@ZenIV.linux.org.uk \
    --to=viro@zeniv.linux.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=arnd@arndb.de \
    --cc=ast@kernel.org \
    --cc=bfields@fieldses.org \
    --cc=chanho.min@lge.com \
    --cc=christian.brauner@ubuntu.com \
    --cc=cyphar@cyphar.com \
    --cc=dhowells@redhat.com \
    --cc=drysdale@google.com \
    --cc=ebiederm@xmission.com \
    --cc=jannh@google.com \
    --cc=jlayton@kernel.org \
    --cc=keescook@chromium.org \
    --cc=luto@kernel.org \
    --cc=mingo@redhat.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=shuah@kernel.org \
    --cc=skhan@linuxfoundation.org \
    --cc=torvalds@linux-foundation.org \
    --cc=tycho@tycho.ws \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.