Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Fri, 30 Aug 2002 20:38:06 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Fri, 30 Aug 2002 20:38:05 -0400 Received: from neon-gw-l3.transmeta.com ([63.209.4.196]:8200 "EHLO neon-gw.transmeta.com") by vger.kernel.org with ESMTP id ; Fri, 30 Aug 2002 20:38:04 -0400 Date: Fri, 30 Aug 2002 17:49:38 -0700 (PDT) From: Linus Torvalds To: Trond Myklebust cc: Linux FSdevel , Linux Kernel , Dave McCracken Subject: Re: [PATCH] Introduce BSD-style user credential [3/3] In-Reply-To: <15728.3233.550886.99549@charged.uio.no> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1337 Lines: 37 On Sat, 31 Aug 2002, Trond Myklebust wrote: > > task->ucred is not the unit for implementing shared creds between > threads. Fair enough, but some solution to this has to be found. I do not want to apply something that simply cannot work sanely, and I want to have at least a _plan_ on the table. > struct pcred { > atomic_t count; > uid_t uid, euid, suid; > gid_t gid, egid, sgid; > struct ucred *cred; > kernel_cap_t ... capabilities ... > struct user_struct *user; > }; Ok, that sounds reasonable, except the naming just has to go. Yes, things like "pcred/ucred" may be what BSD uses, but BSD uses things like "uarea" too, which just isn't the Linux way. The names should make sense _without_ having to have single-letter differences. This really ties in with the patches Dave has done (which are equivalent to your "pcred"), and I'd like to see them work together in practice. (I would suggest calling the FS credentials "struct vfs_cred", while the regular user credentials might just be "struct cred". Other suggestions?) Linus - 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/