[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAHC9VhRQ7Xa2_rAjKYA_nkpmfUd9jn2D0SNcb6SjQFg=k8rn=w@mail.gmail.com>
Date: Wed, 21 Feb 2024 18:43:43 -0500
From: Paul Moore <paul@...l-moore.com>
To: "Seth Forshee (DigitalOcean)" <sforshee@...nel.org>
Cc: Christian Brauner <brauner@...nel.org>, Serge Hallyn <serge@...lyn.com>, Eric Paris <eparis@...hat.com>,
James Morris <jmorris@...ei.org>, Alexander Viro <viro@...iv.linux.org.uk>, Jan Kara <jack@...e.cz>,
Stephen Smalley <stephen.smalley.work@...il.com>, Ondrej Mosnacek <omosnace@...hat.com>,
Casey Schaufler <casey@...aufler-ca.com>, Mimi Zohar <zohar@...ux.ibm.com>,
Roberto Sassu <roberto.sassu@...wei.com>, Dmitry Kasatkin <dmitry.kasatkin@...il.com>,
Eric Snowberg <eric.snowberg@...cle.com>, "Matthew Wilcox (Oracle)" <willy@...radead.org>,
Jonathan Corbet <corbet@....net>, Miklos Szeredi <miklos@...redi.hu>, Amir Goldstein <amir73il@...il.com>,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
linux-security-module@...r.kernel.org, audit@...r.kernel.org,
selinux@...r.kernel.org, linux-integrity@...r.kernel.org,
linux-doc@...r.kernel.org, linux-unionfs@...r.kernel.org
Subject: Re: [PATCH v2 15/25] security: call evm fscaps hooks from generic
security hooks
On Wed, Feb 21, 2024 at 4:25 PM Seth Forshee (DigitalOcean)
<sforshee@...nel.org> wrote:
>
> Signed-off-by: Seth Forshee (DigitalOcean) <sforshee@...nel.org>
> ---
> 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 *idmap,
> int security_inode_set_fscaps(struct mnt_idmap *idmap, struct dentry *dentry,
> 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, flags);
> + ret = call_int_hook(inode_set_fscaps, 0, idmap, dentry, caps, flags);
> + 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_idmap *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 *idmap, 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 = 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().
--
paul-moore.com
Powered by blists - more mailing lists