|From:||Al Viro <viro-AT-ZenIV.linux.org.uk>|
|To:||Linus Torvalds <torvalds-AT-linux-foundation.org>|
|Subject:||Re: VFS deadlock ?|
|Date:||Fri, 22 Mar 2013 00:12:57 +0000|
|Cc:||Dave Jones <davej-AT-redhat.com>, Linux Kernel <linux-kernel-AT-vger.kernel.org>, "Eric W. Biederman" <ebiederm-AT-xmission.com>|
On Thu, Mar 21, 2013 at 05:01:49PM -0700, Linus Torvalds wrote: > On Thu, Mar 21, 2013 at 4:58 PM, Linus Torvalds > <email@example.com> wrote: > > > > So yes, it's against the rules, and we get that deadlock right now, > > but one solution would be to just allow this particular case. The > > patch for the deadlock looks dead simple: > > It should go without saying that that whitespace-damaged patch is > entirely untested. But especially since we need to back-port whatever > fix, it would be good if we could make the fix be something as simple > as this. Because I don't believe we really want to backport some big > network-namespace reorganization. > > This is, of course, all assuming that hardlinked directories are ok if > we can just guarantee the absence of loops. If there's some other > reason why they'd be problematic, we're screwed. See the posting upthread. We could try to kludge around that as well (e.g. have d_ancestor() compare ->d_inode instead of dentries themselves), but I really think it's a lousy idea only inviting further abuse. What we should do, IMO, is to turn /proc/<pid>/net into a honest symlink - to ../nets/<netns ID>/net. Hell, might even make it a magical symlink instead...
Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds