From: Christian Brauner <brauner@kernel.org>
To: Roberto Sassu <roberto.sassu@huaweicloud.com>
Cc: viro@zeniv.linux.org.uk, chuck.lever@oracle.com,
jlayton@kernel.org, neilb@suse.de, kolga@netapp.com,
Dai.Ngo@oracle.com, tom@talpey.com, paul@paul-moore.com,
jmorris@namei.org, serge@hallyn.com, zohar@linux.ibm.com,
dmitry.kasatkin@gmail.com, eric.snowberg@oracle.com,
dhowells@redhat.com, jarkko@kernel.org,
stephen.smalley.work@gmail.com, eparis@parisplace.org,
casey@schaufler-ca.com, shuah@kernel.org, mic@digikod.net,
linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
linux-nfs@vger.kernel.org,
linux-security-module@vger.kernel.org,
linux-integrity@vger.kernel.org, keyrings@vger.kernel.org,
selinux@vger.kernel.org, linux-kselftest@vger.kernel.org,
Roberto Sassu <roberto.sassu@huawei.com>
Subject: Re: [PATCH v9 20/25] ima: Move to LSM infrastructure
Date: Fri, 9 Feb 2024 10:50:05 +0100 [thread overview]
Message-ID: <20240209-zensor-antilopen-e6c5e64b8706@brauner> (raw)
In-Reply-To: <20240115181809.885385-21-roberto.sassu@huaweicloud.com>
On Mon, Jan 15, 2024 at 07:18:04PM +0100, Roberto Sassu wrote:
> From: Roberto Sassu <roberto.sassu@huawei.com>
>
> Move hardcoded IMA function calls (not appraisal-specific functions) from
> various places in the kernel to the LSM infrastructure, by introducing a
> new LSM named 'ima' (at the end of the LSM list and always enabled like
> 'integrity').
>
> Having IMA before EVM in the Makefile is sufficient to preserve the
> relative order of the new 'ima' LSM in respect to the upcoming 'evm' LSM,
> and thus the order of IMA and EVM function calls as when they were
> hardcoded.
>
> Make moved functions as static (except ima_post_key_create_or_update(),
> which is not in ima_main.c), and register them as implementation of the
> respective hooks in the new function init_ima_lsm().
>
> Select CONFIG_SECURITY_PATH, to ensure that the path-based LSM hook
> path_post_mknod is always available and ima_post_path_mknod() is always
> executed to mark files as new, as before the move.
>
> A slight difference is that IMA and EVM functions registered for the
> inode_post_setattr, inode_post_removexattr, path_post_mknod,
> inode_post_create_tmpfile, inode_post_set_acl and inode_post_remove_acl
> won't be executed for private inodes. Since those inodes are supposed to be
> fs-internal, they should not be of interest of IMA or EVM. The S_PRIVATE
> flag is used for anonymous inodes, hugetlbfs, reiserfs xattrs, XFS scrub
> and kernel-internal tmpfs files.
>
> Conditionally register ima_post_key_create_or_update() if
> CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS is enabled. Also, conditionally register
> ima_kernel_module_request() if CONFIG_INTEGRITY_ASYMMETRIC_KEYS is enabled.
>
> Finally, add the LSM_ID_IMA case in lsm_list_modules_test.c.
>
> Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
> Acked-by: Chuck Lever <chuck.lever@oracle.com>
> ---
> fs/file_table.c | 2 -
> fs/namei.c | 6 -
> fs/nfsd/vfs.c | 7 --
> fs/open.c | 1 -
Acked-by: Christian Brauner <brauner@kernel.org>
next prev parent reply other threads:[~2024-02-09 9:50 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-15 18:17 [PATCH v9 00/25] security: Move IMA and EVM to the LSM infrastructure Roberto Sassu
2024-01-15 18:17 ` [PATCH v9 01/25] ima: Align ima_inode_post_setattr() definition with " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 1/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 02/25] ima: Align ima_file_mprotect() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 2/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 03/25] ima: Align ima_inode_setxattr() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 3/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 04/25] ima: Align ima_inode_removexattr() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 4/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 05/25] ima: Align ima_post_read_file() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 5/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 06/25] evm: Align evm_inode_post_setattr() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 6/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 07/25] evm: Align evm_inode_setxattr() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 7/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 08/25] evm: Align evm_inode_post_setxattr() " Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 8/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 09/25] security: Align inode_setattr hook definition with EVM Roberto Sassu
2024-02-08 3:18 ` [PATCH v9 9/25] " Paul Moore
2024-01-15 18:17 ` [PATCH v9 10/25] security: Introduce inode_post_setattr hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 10:17 ` Christian Brauner
2024-01-15 18:17 ` [PATCH v9 11/25] security: Introduce inode_post_removexattr hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 10:17 ` Christian Brauner
2024-01-15 18:17 ` [PATCH v9 12/25] security: Introduce file_post_open hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:56 ` Christian Brauner
2024-02-09 9:59 ` Christian Brauner
2024-02-09 10:12 ` Christian Brauner
2024-02-09 10:46 ` Roberto Sassu
2024-02-09 11:34 ` Christian Brauner
2024-02-09 12:02 ` Roberto Sassu
2024-02-12 21:00 ` Mimi Zohar
2024-02-12 21:16 ` Paul Moore
2024-02-13 12:58 ` Roberto Sassu
2024-02-13 15:33 ` Paul Moore
2024-02-14 20:07 ` Mimi Zohar
2024-02-14 21:21 ` Paul Moore
2024-02-15 8:16 ` Mimi Zohar
2024-02-15 15:02 ` Paul Moore
2024-01-15 18:17 ` [PATCH v9 13/25] security: Introduce file_release hook Roberto Sassu
2024-01-15 19:15 ` Al Viro
2024-01-16 8:47 ` Roberto Sassu
2024-01-16 16:51 ` Casey Schaufler
2024-01-16 17:33 ` Al Viro
2024-01-16 18:18 ` Casey Schaufler
2024-02-08 3:18 ` Paul Moore
2024-02-09 10:15 ` Christian Brauner
2024-02-12 17:21 ` Stefan Berger
2024-01-15 18:17 ` [PATCH v9 14/25] security: Introduce path_post_mknod hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:54 ` Christian Brauner
2024-02-12 17:23 ` Stefan Berger
2024-01-15 18:17 ` [PATCH v9 15/25] security: Introduce inode_post_create_tmpfile hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:53 ` Christian Brauner
2024-02-12 17:26 ` Stefan Berger
2024-01-15 18:18 ` [PATCH v9 16/25] security: Introduce inode_post_set_acl hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:51 ` Christian Brauner
2024-01-15 18:18 ` [PATCH v9 17/25] security: Introduce inode_post_remove_acl hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:52 ` Christian Brauner
2024-01-15 18:18 ` [PATCH v9 18/25] security: Introduce key_post_create_or_update hook Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-01-15 18:18 ` [PATCH v9 19/25] integrity: Move integrity_kernel_module_request() to IMA Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-12 17:37 ` Stefan Berger
2024-02-12 17:56 ` Paul Moore
2024-02-12 20:28 ` Stefan Berger
2024-02-13 8:57 ` Roberto Sassu
2024-02-13 16:31 ` Stefan Berger
2024-02-15 9:29 ` Roberto Sassu
2024-01-15 18:18 ` [PATCH v9 20/25] ima: Move to LSM infrastructure Roberto Sassu
2024-01-16 18:57 ` Casey Schaufler
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:50 ` Christian Brauner [this message]
2024-02-12 17:45 ` Stefan Berger
2024-01-15 18:18 ` [PATCH v9 21/25] ima: Move IMA-Appraisal " Roberto Sassu
2024-01-16 19:03 ` Casey Schaufler
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:45 ` Christian Brauner
2024-01-15 18:18 ` [PATCH v9 22/25] evm: Move " Roberto Sassu
2024-02-08 3:18 ` Paul Moore
2024-02-09 9:48 ` Christian Brauner
2024-02-12 18:26 ` Stefan Berger
2024-01-15 18:18 ` [PATCH v9 23/25] evm: Make it independent from 'integrity' LSM Roberto Sassu
2024-01-16 19:39 ` Casey Schaufler
2024-02-08 3:18 ` Paul Moore
2024-02-12 19:13 ` Stefan Berger
2024-01-15 18:18 ` [PATCH v9 24/25] ima: " Roberto Sassu
2024-01-16 19:40 ` Casey Schaufler
2024-02-12 19:47 ` Stefan Berger
2024-01-15 18:18 ` [PATCH v9 25/25] integrity: Remove LSM Roberto Sassu
2024-01-16 19:41 ` Casey Schaufler
2024-02-08 3:18 ` Paul Moore
2024-02-12 19:50 ` Stefan Berger
2024-02-08 3:18 ` [PATCH v9 0/25] security: Move IMA and EVM to the LSM infrastructure Paul Moore
2024-02-08 8:05 ` Roberto Sassu
2024-02-08 14:16 ` Paul Moore
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240209-zensor-antilopen-e6c5e64b8706@brauner \
--to=brauner@kernel.org \
--cc=Dai.Ngo@oracle.com \
--cc=casey@schaufler-ca.com \
--cc=chuck.lever@oracle.com \
--cc=dhowells@redhat.com \
--cc=dmitry.kasatkin@gmail.com \
--cc=eparis@parisplace.org \
--cc=eric.snowberg@oracle.com \
--cc=jarkko@kernel.org \
--cc=jlayton@kernel.org \
--cc=jmorris@namei.org \
--cc=keyrings@vger.kernel.org \
--cc=kolga@netapp.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=linux-integrity@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=linux-nfs@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=mic@digikod.net \
--cc=neilb@suse.de \
--cc=paul@paul-moore.com \
--cc=roberto.sassu@huawei.com \
--cc=roberto.sassu@huaweicloud.com \
--cc=selinux@vger.kernel.org \
--cc=serge@hallyn.com \
--cc=shuah@kernel.org \
--cc=stephen.smalley.work@gmail.com \
--cc=tom@talpey.com \
--cc=viro@zeniv.linux.org.uk \
--cc=zohar@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.