Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760935AbYCUSxl (ORCPT ); Fri, 21 Mar 2008 14:53:41 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1755850AbYCUSx3 (ORCPT ); Fri, 21 Mar 2008 14:53:29 -0400 Received: from fxip-0047f.externet.hu ([88.209.222.127]:51295 "EHLO pomaz-ex.szeredi.hu" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756709AbYCUSx2 (ORCPT ); Fri, 21 Mar 2008 14:53:28 -0400 To: viro@ZenIV.linux.org.uk CC: miklos@szeredi.hu, haveblue@us.ibm.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, neilb@suse.de, akpm@linux-foundation.org, hch@infradead.org, linux-security-module@vger.kernel.org, jmorris@namei.org In-reply-to: <20080321181105.GW10722@ZenIV.linux.org.uk> (message from Al Viro on Fri, 21 Mar 2008 18:11:05 +0000) Subject: Re: r-o bind in nfsd References: <20080321155451.GU10722@ZenIV.linux.org.uk> <20080321163520.GV10722@ZenIV.linux.org.uk> <20080321181105.GW10722@ZenIV.linux.org.uk> Message-Id: From: Miklos Szeredi Date: Fri, 21 Mar 2008 19:52:35 +0100 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1565 Lines: 33 > > > And having the vfsmount available within vfs_...() functions means, > > > that the mnt_want_write() check can be moved inside, which means that > > > callers get simpler and less likely to be buggy. Those are all > > > advantages IMO, regardless of any security module issues. > > > > Or we can introduce another set of exported functions (path_mkdir(), > > ...), and leave vfs_...() alone. And then the only question is if > > LSM's can live with ordering change. > > I really don't see the point of new helpers; especially since one doesn't > have to _have_ vfsmount to use the old ones and since we don't have a lot > of users of each of those to start with. Traditionally we have syscalls, and nfsd. Both of them want the security checks, and I think nfsd wants the read-only mount checking as well, but I'm not entirely sure. Maybe we can handle that by just making nfsd acquire a write-ref on the mount and keep it while it's exported. Then there's ecryptfs and unionfs, which probably need neither, but it wouldn't hurt to do them anyway. Still, even if there are only two callers, then moving stuff to up doesn't make any sense. Passing down a struct path is free for the syscall case, it doesn't consume any stack space or extra CPU. Do please tell, why would that be such a bad thing? Miklos -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/