mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: ebiederm@xmission.com (Er ic W. Biederman)
To: Ingo Molnar <mingo@elte.hu>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
	Dave Hansen <haveblue@us.ibm.com>,
	Andrew Morton <akpm@linux-foundation.org>,
	Pavel Emelyanov <xemul@openvz.org>,
	Ulrich Drepper <drepper@redhat.com>,
	linux-kernel@vger.kernel.org,
	"Dinakar Guniguntala [imap]" <dino@in.ibm.com>,
	Sripathi Kodi <sripathik@in.ibm.com>
Subject: Futexes and network filesystems.
Date: Tue, 20 Nov 2007 15:53:52 -0700	[thread overview]
Message-ID: <m1ir3wr0jj.fsf_-_@ebiederm.dsl.xmission.com> (raw)
In-Reply-To: <20071103201251.GB26366@elte.hu> (Ingo Molnar's message of "Sat, 3 Nov 2007 21:12:51 +0100")

Ingo Molnar <mingo@elte.hu> writes:

> * Linus Torvalds <torvalds@linux-foundation.org> wrote:
>
>> On Fri, 2 Nov 2007, Dave Hansen wrote:
>> > 
>> > There are certainly more of these, but here is one In the futex 
>> > userspace address, we install the current pid's vnr into a userspace 
>> > address.
>> 
>> Now, realistically, why not just say "you can't use these things 
>> across namespaces"? Does anybody really care? After all, somebody who 
>> screws this up only screws himself, not anybody else.
>
> i see two main categories of problems:
>
> - one problem is that this condition is 'invisible'.
>
> - so via this we isolate an important category of syscalls from
>   cross-namespace use perhaps forever.

I had a chance to think about this a bit more, and realized that
the problem is that futexes don't appear to work on network
filesystems, even if the network filesystems provide coherent shared
memory.

It seems to me that we need to have a call that gets a unique token
for a process for each filesystem per filesystem for use in futexes
(especially robust futexes).  Say get_fs_task_id(const char *path);

On local filesystems this could just be the pid as we use today, but
for filesystems that can be accessed from contexts with potentially
overlapping pid values this could be something else.  It is an extra
syscall in the preparation path, but it should be hardly more
expensive the current getpid().

Once we have fixed the futex infrastructure to be able to handle
futexes on network filesystems, the pid namespace case will be trivial
to implement.

Eric





  parent reply	other threads:[~2007-11-20 22:55 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-01 14:43 [patch] PID namespace design bug, workaround Ingo Molnar
2007-11-01 14:51 ` Pavel Emelyanov
2007-11-01 14:56   ` Peter Zijlstra
2007-11-01 15:06     ` Pavel Emelyanov
2007-11-01 15:17       ` Ingo Molnar
2007-11-01 15:30         ` Pavel Emelyanov
2007-11-01 14:56   ` Ulrich Drepper
2007-11-01 15:05     ` Pavel Emelyanov
2007-11-02  0:21       ` Ulrich Drepper
2007-11-02  7:55         ` Pavel Emelyanov
2007-11-02  8:04           ` Andrew Morton
2007-11-02  8:14             ` Pavel Emelyanov
2007-11-02 14:05               ` Ulrich Drepper
2007-11-02 14:21                 ` Pavel Emelyanov
2007-11-02 15:34                   ` Ulrich Drepper
2007-11-02 15:58                     ` Pavel Emelyanov
2007-11-02 21:39                       ` Theodore Tso
2007-11-03  4:34                       ` Ulrich Drepper
2007-11-06  7:49                         ` Pavel Emelyanov
2007-11-03 20:01                   ` sukadev
2007-11-04  7:17                     ` Eric W. Biederman
2007-11-02 17:30             ` Dave Hansen
2007-11-02 17:39               ` Linus Torvalds
2007-11-03  4:02                 ` Nicholas Miell
2007-11-03 20:12                 ` Ingo Molnar
2007-11-03 22:40                   ` Linus Torvalds
2007-11-03 23:55                     ` Arjan van de Ven
2007-11-04  0:21                       ` david
2007-11-04 10:38                     ` [patch] PID namespaces Ingo Molnar
2007-11-04 20:12                       ` Dave Hansen
2007-11-05 14:47                       ` Denys Vlasenko
2007-11-20 22:53                   ` Er ic W. Biederman [this message]
2007-11-21  6:16                     ` Futexes and network filesystems Kyle Moffett
2007-11-21  6:30                       ` Eric W. Biederman
2007-11-01 16:12     ` [patch] PID namespace design bug, workaround Dave Hansen
2007-11-01 14:53 ` Ulrich Drepper
2007-11-01 15:05   ` Ingo Molnar
2007-11-01 18:57     ` Theodore Tso
2007-11-01 19:53       ` Ingo Molnar
2007-11-02  0:23         ` Ulrich Drepper
2007-11-01 15:02 ` Pavel Emelyanov

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=m1ir3wr0jj.fsf_-_@ebiederm.dsl.xmission.com \
    --to=ebiederm@xmission.com \
    --cc=akpm@linux-foundation.org \
    --cc=dino@in.ibm.com \
    --cc=drepper@redhat.com \
    --cc=haveblue@us.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=sripathik@in.ibm.com \
    --cc=torvalds@linux-foundation.org \
    --cc=xemul@openvz.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome