Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757322AbdLWEDv (ORCPT ); Fri, 22 Dec 2017 23:03:51 -0500 Received: from h2.hallyn.com ([78.46.35.8]:54842 "EHLO h2.hallyn.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757161AbdLWEDt (ORCPT ); Fri, 22 Dec 2017 23:03:49 -0500 Date: Fri, 22 Dec 2017 22:03:48 -0600 From: "Serge E. Hallyn" To: Dongsu Park Cc: linux-kernel@vger.kernel.org, containers@lists.linux-foundation.org, Alban Crequy , "Eric W . Biederman" , Miklos Szeredi , Seth Forshee , Sargun Dhillon , linux-integrity@vger.kernel.org, linux-security-module@vger.kernel.org, James Morris , Mimi Zohar , "Serge E. Hallyn" Subject: Re: [PATCH 11/11] evm: Don't update hmacs in user ns mounts Message-ID: <20171223040348.GK6837@mail.hallyn.com> References: <1f2233a1a028f1eb1e9bea7d06efa6d34e69e752.1512041070.git.dongsu@kinvolk.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1f2233a1a028f1eb1e9bea7d06efa6d34e69e752.1512041070.git.dongsu@kinvolk.io> User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1350 Lines: 40 On Fri, Dec 22, 2017 at 03:32:35PM +0100, Dongsu Park wrote: > From: Seth Forshee > > The kernel should not calculate new hmacs for mounts done by > non-root users. Update evm_calc_hmac_or_hash() to refuse to > calculate new hmacs for mounts for non-init user namespaces. > > Cc: linux-integrity@vger.kernel.org > Cc: linux-security-module@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: James Morris > Cc: Mimi Zohar Hi Mimi, does this change seem sufficient to you? > Cc: "Serge E. Hallyn" > Signed-off-by: Seth Forshee > Signed-off-by: Dongsu Park > --- > security/integrity/evm/evm_crypto.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/security/integrity/evm/evm_crypto.c b/security/integrity/evm/evm_crypto.c > index bcd64baf..729f4545 100644 > --- a/security/integrity/evm/evm_crypto.c > +++ b/security/integrity/evm/evm_crypto.c > @@ -190,7 +190,8 @@ static int evm_calc_hmac_or_hash(struct dentry *dentry, > int error; > int size; > > - if (!(inode->i_opflags & IOP_XATTR)) > + if (!(inode->i_opflags & IOP_XATTR) || > + inode->i_sb->s_user_ns != &init_user_ns) > return -EOPNOTSUPP; > > desc = init_desc(type); > -- > 2.13.6