Received: by 2002:a05:7412:798b:b0:fc:a2b0:25d7 with SMTP id fb11csp24067rdb; Wed, 21 Feb 2024 15:44:10 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCVUQqLXaoFN5H0elN7Pe3WMf1Su8XqTcZqTUrgtTaEMCzYjU0T9tMsFbOLTaBrmGc1HEYZa+eT/W5OHMmymzvWQKfwrELxPRNEXB5uVvg== X-Google-Smtp-Source: AGHT+IHYCtc9Y5smmviYklZb7jwT4i0jTEFdByIDp1+lJShsBT+k4rBwTBbbgJvF2es0XQ77ndm5 X-Received: by 2002:a17:907:1182:b0:a3f:47ff:47d with SMTP id uz2-20020a170907118200b00a3f47ff047dmr886815ejb.26.1708559050173; Wed, 21 Feb 2024 15:44:10 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1708559050; cv=pass; d=google.com; s=arc-20160816; b=srgpuFbynrz9YSDoekwh2EtP62iQd/jcN0zbBsEVx2Dp/LIT/gG2eZ5KfZVEeK5QBL VKR8KPg6/DQyl1uqoBo+ua7z4ofI6/a5nktRp1jt64IjLHIHK4Bdx+pjnpHcr1oNYUf+ EaAXTJwnevGAIcdF57c86OZxy/w6E0EqvGypinDdTbsLKzxYrYMZrP4mdyelqV6OcT3a kX42UJIoPTsBLn2O/3/OpCuaOWPFQ0EXgyByCFhrUWGSXo1RLhLdAtCC5FO1iYR3sUsn g/lfQlLM2kRzWz95/Iaui3omcZuGzNiaD6KKHB8dQ8bTgwcdofrg14DgCgVi1ykCIBm1 s52A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:list-unsubscribe:list-subscribe :list-id:precedence:dkim-signature; bh=ozpdHgEMJtLxc8z0f/xCObDDvWnU+f1l4TdamibeEB0=; fh=nM/YwsLTcYLxavkUCfRwpFrR1dVOVG4k3OUXgYX4hVg=; b=v9+ni4AlStThHl7orGCojFufZKjrrPTxej4sBj0UUWNZWTvLnn7t+0IyTffGQQNzpZ I/dY1mq1sMiT6NXUiNCR/miEAAHVkWhbFVbRAN7hl1kp4vQJdM2XVUJKFVlEq05ovVUZ gZFMtcvDgcjjYrPMW8i895moqiBItdXTHkdQ4dVfsWXrhHAhCMlYSE6HkznKvtEi++tz TaqpDpf+Z9zVHtviho8F+c10j1VissjTImGGaJQkRW0szUe5P1h5gnaJWwbpe/B6mC8r YZh0U3eztkB20G4oRIEfBg2a6qgm83USdROCGZcSYod5FecvtKu1socRpXFUtpH2BiZw d3Xg==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@paul-moore.com header.s=google header.b=DMYN6N90; arc=pass (i=1 spf=pass spfdomain=paul-moore.com dkim=pass dkdomain=paul-moore.com dmarc=pass fromdomain=paul-moore.com); spf=pass (google.com: domain of linux-kernel+bounces-75678-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75678-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=paul-moore.com Return-Path: Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id qa36-20020a17090786a400b00a3f102e97b9si1762397ejc.157.2024.02.21.15.44.10 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Feb 2024 15:44:10 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-75678-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@paul-moore.com header.s=google header.b=DMYN6N90; arc=pass (i=1 spf=pass spfdomain=paul-moore.com dkim=pass dkdomain=paul-moore.com dmarc=pass fromdomain=paul-moore.com); spf=pass (google.com: domain of linux-kernel+bounces-75678-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-75678-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=paul-moore.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 9BA041F24176 for ; Wed, 21 Feb 2024 23:44:09 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 69FD012A16B; Wed, 21 Feb 2024 23:43:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b="DMYN6N90" Received: from mail-yb1-f169.google.com (mail-yb1-f169.google.com [209.85.219.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B7999129A6C for ; Wed, 21 Feb 2024 23:43:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.219.169 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708559036; cv=none; b=JRLwb0PRuPSUNiGTLjMkZyZRTsh8a/XRvRLNnqhFmmjFB/6HyOr+iLuHn/y6Iwr4pc+NleUgBog+sEQH7NlbcS3yYaqmIzCIHYR4psn6Ylw4apQiSwvDxQOFemaA2Vh/aLjufJYDxhfCiX+xr1z+cBg57qhvaCEMPr2ArMcSNWA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1708559036; c=relaxed/simple; bh=jXUi7DaHH/tYkfvmdZwdL5O6ldHOILbUbl8SwoK93vk=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=GwIwBM8s53Nsa5UhddlFD7fbJ6iDvZQicfqusv/YT+kp04PxKavgmcpbfAizGczX8z/rOC0WjlVQdEmGD4eEbJivKzuYhtcWo0GAP5VHyTfhcLCywUB5X+WhTtwjxaf8WMbmg7yxzEKJzY/afcHNqF/GZCV3PUH4NA1d0JWaa2M= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com; spf=pass smtp.mailfrom=paul-moore.com; dkim=pass (2048-bit key) header.d=paul-moore.com header.i=@paul-moore.com header.b=DMYN6N90; arc=none smtp.client-ip=209.85.219.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=paul-moore.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=paul-moore.com Received: by mail-yb1-f169.google.com with SMTP id 3f1490d57ef6-dcc7cdb3a98so7528882276.2 for ; Wed, 21 Feb 2024 15:43:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=paul-moore.com; s=google; t=1708559034; x=1709163834; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ozpdHgEMJtLxc8z0f/xCObDDvWnU+f1l4TdamibeEB0=; b=DMYN6N90YpElzCrVcquPcjL+68ZSO5M7iyX1Ysv42qTiwp/rotMVr8o6Mewie3EVWH 6VkCYIDs9OZsceV8eT/715SqP5vipSQq8BJm53ev7Jak8bqLfejNRGC60ZEdngFaBjHD yR2Xa+KweEdyCQ1U/IYiFUyc+gff3XevcnQRwIclqaZGPbO7+Gyh/N2bDhHANboRBTfA F/SqCwaEdM3e7maAwCzEolx3GWicHLwuXvWGnzGIKmfCUrRrES38YR7gNI3H2wQklfPE 31p2G69/JMdWuV0Uo5dNqkjAX0N7C3gMXqT723vE4AIFKOiqlqkWwlveEk0rhSpt0vd3 esLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708559034; x=1709163834; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ozpdHgEMJtLxc8z0f/xCObDDvWnU+f1l4TdamibeEB0=; b=V9qzUThAsFzuU+qv1+QPkUnjmU7rLkF18JMiHkn5bPManuxtw+/MsB8WEJRywhMqpu ixoW4r79TY+degGDEaaA8tJiipBK3/zQ4/iH9RDPHZW64uX3mFOfyHtucg8lOHryNksX dwKHV+VejAciGFj81aLuT2FbFrYjO/LNWfWNa3EsK3rFOIlhGrNGQxe9Tk7dNqdLppUu iBsQl7BxNZHN0M6M5qYFxCYOSwYTfsHDTIez1vqKA/NZE0bUwP2VO+KRui5bdQaaA2VD 0MOKRKjA3B/IJ/UGwloINHbG2OLwE5gj7RIWePcQNLtbes8im0+WLtCiWtPvjdjbIXh/ q7Dw== X-Forwarded-Encrypted: i=1; AJvYcCVuSxnbz3E5p6GD6wPxYIdryVrFw/R0jVF+xa7SfLRI/m4sJBOO7Xokp2f+BWaLQ2MmTaWds0pJlnpJ/yKIr110zfhQ1COC5OgHlhgn X-Gm-Message-State: AOJu0YzM9A0RqMk53PMYahB2O+vSJ9KIgG5E/YXD82qTzsiZtMtb39wG h2do+w1u0la9H5fB/8QRYtmpVuqVCHF2yj/UBIcrcSGzFK6Cz60X4kLgX0+PfhldCENJw9DI54R g3ujPsclmFDvFv+/Mh59CE9uborQYupoVSJBQ X-Received: by 2002:a25:a285:0:b0:dc6:db0c:4ff0 with SMTP id c5-20020a25a285000000b00dc6db0c4ff0mr912234ybi.32.1708559033944; Wed, 21 Feb 2024 15:43:53 -0800 (PST) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20240221-idmap-fscap-refactor-v2-0-3039364623bd@kernel.org> <20240221-idmap-fscap-refactor-v2-15-3039364623bd@kernel.org> In-Reply-To: <20240221-idmap-fscap-refactor-v2-15-3039364623bd@kernel.org> From: Paul Moore Date: Wed, 21 Feb 2024 18:43:43 -0500 Message-ID: Subject: Re: [PATCH v2 15/25] security: call evm fscaps hooks from generic security hooks To: "Seth Forshee (DigitalOcean)" Cc: Christian Brauner , Serge Hallyn , Eric Paris , James Morris , Alexander Viro , Jan Kara , Stephen Smalley , Ondrej Mosnacek , Casey Schaufler , Mimi Zohar , Roberto Sassu , Dmitry Kasatkin , Eric Snowberg , "Matthew Wilcox (Oracle)" , Jonathan Corbet , Miklos Szeredi , Amir Goldstein , linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org, linux-security-module@vger.kernel.org, audit@vger.kernel.org, selinux@vger.kernel.org, linux-integrity@vger.kernel.org, linux-doc@vger.kernel.org, linux-unionfs@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Feb 21, 2024 at 4:25=E2=80=AFPM Seth Forshee (DigitalOcean) wrote: > > Signed-off-by: Seth Forshee (DigitalOcean) > --- > security/security.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) First off, you've got to write *something* for the commit description, even if it is just a single sentence. > diff --git a/security/security.c b/security/security.c > index 0d210da9862c..f515d8430318 100644 > --- a/security/security.c > +++ b/security/security.c > @@ -2365,9 +2365,14 @@ int security_inode_remove_acl(struct mnt_idmap *id= map, > int security_inode_set_fscaps(struct mnt_idmap *idmap, struct dentry *de= ntry, > const struct vfs_caps *caps, int flags) > { > + int ret; > + > if (unlikely(IS_PRIVATE(d_backing_inode(dentry)))) > return 0; > - return call_int_hook(inode_set_fscaps, 0, idmap, dentry, caps, fl= ags); > + ret =3D call_int_hook(inode_set_fscaps, 0, idmap, dentry, caps, f= lags); > + if (ret) > + return ret; > + return evm_inode_set_fscaps(idmap, dentry, caps, flags); > } > > /** > @@ -2387,6 +2392,7 @@ void security_inode_post_set_fscaps(struct mnt_idma= p *idmap, > if (unlikely(IS_PRIVATE(d_backing_inode(dentry)))) > return; > call_void_hook(inode_post_set_fscaps, idmap, dentry, caps, flags)= ; > + evm_inode_post_set_fscaps(idmap, dentry, caps, flags); > } > > /** > @@ -2415,9 +2421,14 @@ int security_inode_get_fscaps(struct mnt_idmap *id= map, struct dentry *dentry) > */ > int security_inode_remove_fscaps(struct mnt_idmap *idmap, struct dentry = *dentry) > { > + int ret; > + > if (unlikely(IS_PRIVATE(d_backing_inode(dentry)))) > return 0; > - return call_int_hook(inode_remove_fscaps, 0, idmap, dentry); > + ret =3D call_int_hook(inode_remove_fscaps, 0, idmap, dentry); > + if (ret) > + return ret; > + return evm_inode_remove_fscaps(dentry); > } If you take a look at linux-next or the LSM tree's dev branch you'll see that we've gotten rid of the dedicated IMA and EVM hooks, promoting both IMA and EVM to "proper" LSMs that leverage the existing LSM hook infrastructure. In this patchset, and moving forward, please don't add dedicated IMA/EVM hooks like this, instead register them as LSM hook implementations with LSM_HOOK_INIT(). --=20 paul-moore.com