[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <m17i9icxme.fsf@frodo.ebiederm.org>
Date: Thu, 11 Sep 2008 12:04:41 -0700
From: ebiederm@...ssion.com (Eric W. Biederman)
To: Miklos Szeredi <miklos@...redi.hu>
Cc: serue@...ibm.com, akpm@...ux-foundation.org, hch@...radead.org,
viro@...IV.linux.org.uk, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: unprivileged mounts git tree
Miklos Szeredi <miklos@...redi.hu> writes:
> On Thu, 11 Sep 2008, ebiederm@...ssion.com (Eric W. Biederman)
>> There is a weird corner case I'm trying to wrap my head around.
>> unlink and rmdir do not work on dentries that are mount points
>> in another mount namespace.
>>
>> Which is at least needed for the moment so we don't leak mounts.
>>
>> Once we have unprivileged mounts does that introduce a DOS attack?
>
> Hmm, yes. That's a tough one...
>
> I think if the dentry has only user mounts, unlink should go ahead and
> on success dissolve any mounts on the dentry. Does that sound
> workable?
I don't think only user mounts is the right filter.
We have support for lazy unmounts so it is possible to handle
that case.
Technically all we need to do is transform d_mounted from a counter
to a hlist_head and thread yet another list through struct vfs_mount
to track this.
I need to think about the semantics a little more before I have a good
feel of what makes sense. In particular do we want a full
recursive lazy unmount or do we want to handle submounts in a different
way.
This also intersects in interesting ways with dcache pruning, and
automounting.
Eric
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists