From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752463AbbCKQgm (ORCPT ); Wed, 11 Mar 2015 12:36:42 -0400 Received: from emvm-gh1-uea09.nsa.gov ([63.239.67.10]:64590 "EHLO emvm-gh1-uea09.nsa.gov" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751120AbbCKQgk (ORCPT ); Wed, 11 Mar 2015 12:36:40 -0400 X-TM-IMSS-Message-ID: <5bd4d06a000d7380@nsa.gov> Message-ID: <55006ECE.4040403@tycho.nsa.gov> Date: Wed, 11 Mar 2015 12:35:26 -0400 From: Stephen Smalley Organization: National Security Agency User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.4.0 MIME-Version: 1.0 To: Casey Schaufler , James Morris , James Morris , LSM , LKLM CC: Paul Moore , John Johansen , Tetsuo Handa , Eric Paris , Kees Cook Subject: Re: [PATCH 0/7 v21] LSM: Multiple concurrent LSMs References: <54FE4553.3000209@schaufler-ca.com> <55006C85.4010202@tycho.nsa.gov> In-Reply-To: <55006C85.4010202@tycho.nsa.gov> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 03/11/2015 12:25 PM, Stephen Smalley wrote: > On 03/09/2015 09:13 PM, Casey Schaufler wrote: >> Subject: [PATCH 0/7 v21] LSM: Multiple concurrent LSMs >> >> Replace the current ad hoc stacking of the capabilities >> and Yama security modules with a generalized stacking scheme. >> >> The old structure had a single set of module hooks contained >> in a security_operations structure. This structure was initialized >> with a set of stubs referred to as the "capabilities" module. >> In fact only a few of these hooks actually did anything useful. >> When a module replaced the capabilities module the entries >> supplied replaced those from the capabilities module. The >> new hook was expected to call the replaced capability code >> if "stacking" was desired, which it usually was. Yama stacking >> is done by ifdefs in the security infrastructure. >> >> The new structure provides a list of module hooks for each >> interface. The non-trivial functions from the capabilities >> module are add to the list first. If Yama stacking is configured >> the Yama functions are added next. If a module is specified as >> the "default" module, or is specified on the command line, it >> is added next. >> >> Functions are called in the order added to the list. The >> security interfaces stop when a function indicates an access >> denial. It is possible for a list to be empty. That is treated >> as a success in most cases. >> >> Each security module provides an array of function list entries. >> This is initialized with the information needed to properly add >> the entries to the function lists. >> >> The sheer size of this patch set is somewhat frightening. This >> is an artifact of the number of security interfaces involved and >> except for a few cases the changes are mechanical in nature. >> Except for the removal of some information specific to the security >> module infrastructure itself, the change is transparent to the rest >> of the kernel. >> >> This is going to break out-of-tree security modules. It's easy to >> update a module to the new scheme, and I'd be happy to do it for >> any module I know about, but if it isn't in the tree, I don't know >> about it. >> >> The stacking of modules that use the security blob pointers >> cred->security, inode->i_security, etc has not been addressed. >> That is future work with a delightful set of issues. >> >> This patch set is based on James Morris' security-next tree, >> which is itself based on Linus' 4.0-rc1. It reflects the 11 >> patches of v20. >> >> Signed-off-by: Casey Schaufler > > Acked-by: Stephen Smalley > > Passes the selinux-testsuite with SELINUX alone or > SELINUX+YAMA+YAMA_STACKED. Hmm..sorry, I missed something. Rescinding my ACK; comments to follow.