From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Serge E. Hallyn" Subject: Re: unprivileged mounts git tree Date: Thu, 4 Sep 2008 12:48:51 -0500 Message-ID: <20080904174851.GA13693@hallyn.com> References: <20080903220215.GA27705@us.ibm.com> <20080903224334.GA726@us.ibm.com> <20080904132804.GA14709@us.ibm.com> <20080904161729.GA26579@us.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: serue@us.ibm.com, ebiederm@xmission.com, akpm@linux-foundation.org, hch@infradead.org, viro@ZenIV.linux.org.uk, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org To: Miklos Szeredi Return-path: Received: from hrndva-omtalb.mail.rr.com ([71.74.56.123]:42979 "EHLO hrndva-omtalb.mail.rr.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753031AbYIDRtG (ORCPT ); Thu, 4 Sep 2008 13:49:06 -0400 Content-Disposition: inline In-Reply-To: Sender: linux-fsdevel-owner@vger.kernel.org List-ID: Quoting Miklos Szeredi (miklos@szeredi.hu): > On Thu, 4 Sep 2008, Serge E. Hallyn wrote: > > Quoting Miklos Szeredi (miklos@szeredi.hu): > > > On Thu, 04 Sep 2008, Miklos Szeredi wrote: > > > > On Thu, 4 Sep 2008, Serge E. Hallyn wrote: > > > > > Are you going to revert the change forcing CL_SLAVE for > > > > > !capable(CAP_SYS_ADMIN)? I don't think we want that - I think that > > > > > *within* a set of user mounts, propagation should be safe, right? > > > > > > > > > > Will you be able to do this soon? If not, should we just do the part > > > > > returning -EPERM when turning a shared mount into a user mount? > > > > > > > > OK, let's do that first and the tricky part (propagation vs. user > > > > mounts) later. Will push after I've tested it. > > > > > > Here it is: > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/vfs.git unprivileged-mounts > > > > but you're still doing > > > > if (IS_MNT_SHARED(old_nd.path.mnt) && !capable(CAP_SYS_ADMIN)) > > goto out; > > > > shouldn't it be something like > > > > if (IS_MNT_SHARED(old_nd.path.mnt) && (old_nd.path.mnt & MNT_USER)) > > goto out; > > > > ? > > Why would that be an error? There's no real security gain to be had > from restricting a privileged user, but could cause a lot of > annoyance. If we think this is dangerous, then protection should be > built into mount(8) with an option to override. But not into the > kernel, IMO. We disagree on that. But can we agree that the check you added is wrong? There is no reason why a user mount should not be able to do shared mounts, is there? So should the check above just go away then? -serge