From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750764AbVHWGPQ (ORCPT ); Tue, 23 Aug 2005 02:15:16 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1750772AbVHWGPQ (ORCPT ); Tue, 23 Aug 2005 02:15:16 -0400 Received: from parcelfarce.linux.theplanet.co.uk ([195.92.249.252]:16526 "EHLO parcelfarce.linux.theplanet.co.uk") by vger.kernel.org with ESMTP id S1750764AbVHWGPO (ORCPT ); Tue, 23 Aug 2005 02:15:14 -0400 Date: Tue, 23 Aug 2005 07:18:16 +0100 From: Al Viro To: Florian Weimer Cc: Janak Desai , sds@tycho.nsa.gov, linuxram@us.ibm.com, ericvh@gmail.com, dwalsh@redhat.com, jmorris@redhat.com, akpm@osdl.org, torvalds@osdl.org, gh@us.ibm.com, linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 0/3] New system call, unshare Message-ID: <20050823061815.GE9322@parcelfarce.linux.theplanet.co.uk> References: <878xz9dgv4.fsf@mid.deneb.enyo.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <878xz9dgv4.fsf@mid.deneb.enyo.de> User-Agent: Mutt/1.4.1i Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Aug 10, 2005 at 04:08:31PM +0200, Florian Weimer wrote: > * Janak Desai: > > > With unshare, namespace setup can be done using PAM session > > management functions without patching individual commands. > > I don't think it's a good idea to use security-critical code well > without its original specification. Clearly the current situation > sucks, but this is mainly a lack of PAM functionality, IMHO. Eh? We are talking about a primitive that has far more uses than PAM. This is a missing piece of the stuff done by clone() and fork(): each task is a virtual machine with sharable components. We can get a copy of machine with arbitrary set of components replaced with private copies. That's what clone() and fork() do. The thing missing from that set is taking a component (VM, descriptors, etc.) of process itself and making it private. The same thing we do on fork(), but without creating a new process. FWIW, I'm OK with that. IIRC, Linus ACKed the concept some time ago. PAM is one obvious use, but there's are other situations where the lack of that primitive is inconvenient...