All of lore.kernel.org
 help / color / mirror / Atom feed
From: Roberto Sassu <roberto.sassu@huaweicloud.com>
To: viro@zeniv.linux.org.uk, brauner@kernel.org,
	chuck.lever@oracle.com, jlayton@kernel.org, neilb@suse.de,
	kolga@netapp.com, Dai.Ngo@oracle.com, tom@talpey.com,
	zohar@linux.ibm.com, dmitry.kasatkin@gmail.com,
	paul@paul-moore.com, jmorris@namei.org, serge@hallyn.com,
	dhowells@redhat.com, jarkko@kernel.org,
	stephen.smalley.work@gmail.com, eparis@parisplace.org,
	casey@schaufler-ca.com
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-integrity@vger.kernel.org,
	linux-security-module@vger.kernel.org, keyrings@vger.kernel.org,
	selinux@vger.kernel.org, Roberto Sassu <roberto.sassu@huawei.com>,
	Stefan Berger <stefanb@linux.ibm.com>
Subject: [PATCH v3 05/25] ima: Align ima_inode_setxattr() definition with LSM infrastructure
Date: Mon,  4 Sep 2023 15:33:55 +0200	[thread overview]
Message-ID: <20230904133415.1799503-6-roberto.sassu@huaweicloud.com> (raw)
In-Reply-To: <20230904133415.1799503-1-roberto.sassu@huaweicloud.com>

From: Roberto Sassu <roberto.sassu@huawei.com>

Change ima_inode_setxattr() definition, so that it can be registered as
implementation of the inode_setxattr hook.

Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
---
 include/linux/ima.h                   | 11 +++++++----
 security/integrity/ima/ima_appraise.c |  5 +++--
 security/security.c                   |  2 +-
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/include/linux/ima.h b/include/linux/ima.h
index 56e72c0beb96..3dedff8659d2 100644
--- a/include/linux/ima.h
+++ b/include/linux/ima.h
@@ -194,8 +194,9 @@ static inline void ima_post_key_create_or_update(struct key *keyring,
 extern bool is_ima_appraise_enabled(void);
 extern void ima_inode_post_setattr(struct mnt_idmap *idmap,
 				   struct dentry *dentry, int ia_valid);
-extern int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
-		       const void *xattr_value, size_t xattr_value_len);
+int ima_inode_setxattr(struct mnt_idmap *idmap, struct dentry *dentry,
+		       const char *xattr_name, const void *xattr_value,
+		       size_t xattr_value_len, int flags);
 extern int ima_inode_set_acl(struct mnt_idmap *idmap,
 			     struct dentry *dentry, const char *acl_name,
 			     struct posix_acl *kacl);
@@ -218,10 +219,12 @@ static inline void ima_inode_post_setattr(struct mnt_idmap *idmap,
 	return;
 }
 
-static inline int ima_inode_setxattr(struct dentry *dentry,
+static inline int ima_inode_setxattr(struct mnt_idmap *idmap,
+				     struct dentry *dentry,
 				     const char *xattr_name,
 				     const void *xattr_value,
-				     size_t xattr_value_len)
+				     size_t xattr_value_len,
+				     int flags)
 {
 	return 0;
 }
diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
index 6b032bce4fe7..88c5a0b2992f 100644
--- a/security/integrity/ima/ima_appraise.c
+++ b/security/integrity/ima/ima_appraise.c
@@ -748,8 +748,9 @@ static int validate_hash_algo(struct dentry *dentry,
 	return -EACCES;
 }
 
-int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
-		       const void *xattr_value, size_t xattr_value_len)
+int ima_inode_setxattr(struct mnt_idmap *idmap, struct dentry *dentry,
+		       const char *xattr_name, const void *xattr_value,
+		       size_t xattr_value_len, int flags)
 {
 	const struct evm_ima_xattr_data *xvalue = xattr_value;
 	int digsig = 0;
diff --git a/security/security.c b/security/security.c
index dffb67e6e119..00826269481e 100644
--- a/security/security.c
+++ b/security/security.c
@@ -2171,7 +2171,7 @@ int security_inode_setxattr(struct mnt_idmap *idmap,
 		ret = cap_inode_setxattr(dentry, name, value, size, flags);
 	if (ret)
 		return ret;
-	ret = ima_inode_setxattr(dentry, name, value, size);
+	ret = ima_inode_setxattr(idmap, dentry, name, value, size, flags);
 	if (ret)
 		return ret;
 	return evm_inode_setxattr(idmap, dentry, name, value, size);
-- 
2.34.1


  parent reply	other threads:[~2023-09-04 13:36 UTC|newest]

Thread overview: 80+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-04 13:33 [PATCH v3 00/25] security: Move IMA and EVM to the LSM infrastructure Roberto Sassu
2023-09-04 13:33 ` [PATCH v3 01/25] ima: Align ima_inode_post_setattr() definition with " Roberto Sassu
2023-10-11 14:26   ` Mimi Zohar
2023-09-04 13:33 ` [PATCH v3 02/25] ima: Align ima_post_path_mknod() " Roberto Sassu
2023-09-05 17:23   ` Stefan Berger
2023-10-11 14:38   ` Mimi Zohar
2023-10-11 16:02     ` Roberto Sassu
2023-10-11 19:01       ` Mimi Zohar
2023-10-12  7:29         ` Roberto Sassu
2023-10-12 11:42           ` Mimi Zohar
2023-10-12 12:19             ` Roberto Sassu
2023-10-12 13:25               ` Mimi Zohar
2023-10-12 13:33                 ` Roberto Sassu
2023-10-12 17:10                   ` Mimi Zohar
2023-10-13  7:38                     ` Roberto Sassu
2023-09-04 13:33 ` [PATCH v3 03/25] ima: Align ima_post_create_tmpfile() " Roberto Sassu
2023-09-05 17:26   ` Stefan Berger
2023-09-04 13:33 ` [PATCH v3 04/25] ima: Align ima_file_mprotect() " Roberto Sassu
2023-10-11 14:51   ` Mimi Zohar
2023-10-11 15:43     ` Roberto Sassu
2023-10-11 20:17       ` Mimi Zohar
2023-09-04 13:33 ` Roberto Sassu [this message]
2023-10-11 19:20   ` [PATCH v3 05/25] ima: Align ima_inode_setxattr() " Mimi Zohar
2023-09-04 13:33 ` [PATCH v3 06/25] ima: Align ima_inode_removexattr() " Roberto Sassu
2023-09-04 13:33 ` [PATCH v3 07/25] ima: Align ima_post_read_file() " Roberto Sassu
2023-10-12  0:07   ` Mimi Zohar
2023-09-04 13:33 ` [PATCH v3 08/25] evm: Align evm_inode_post_setattr() " Roberto Sassu
2023-10-12  0:07   ` Mimi Zohar
2023-09-04 13:33 ` [PATCH v3 09/25] evm: Align evm_inode_setxattr() " Roberto Sassu
2023-10-12  0:08   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 10/25] evm: Align evm_inode_post_setxattr() " Roberto Sassu
2023-10-12  0:08   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 11/25] security: Align inode_setattr hook definition with EVM Roberto Sassu
2023-10-12  0:08   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 12/25] security: Introduce inode_post_setattr hook Roberto Sassu
2023-09-05 17:40   ` Stefan Berger
2023-09-26 11:14   ` Roberto Sassu
2023-10-12  0:08   ` Mimi Zohar
2023-10-12  7:42     ` Roberto Sassu
2023-10-12 11:43       ` Mimi Zohar
2023-10-12 12:25         ` Roberto Sassu
2023-09-04 13:34 ` [PATCH v3 13/25] security: Introduce inode_post_removexattr hook Roberto Sassu
2023-09-05 17:55   ` Stefan Berger
2023-10-12  0:09   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 14/25] security: Introduce file_post_open hook Roberto Sassu
2023-09-05 18:10   ` Stefan Berger
2023-10-12 12:36   ` Mimi Zohar
2023-10-12 12:45     ` Roberto Sassu
2023-10-12 13:35       ` Mimi Zohar
2023-10-12 13:49         ` Roberto Sassu
2023-09-04 13:34 ` [PATCH v3 15/25] security: Introduce file_pre_free_security hook Roberto Sassu
2023-09-05 18:36   ` Stefan Berger
2023-10-13 13:50   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 16/25] security: Introduce path_post_mknod hook Roberto Sassu
2023-09-05 18:48   ` Stefan Berger
2023-10-13 13:12   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 17/25] security: Introduce inode_post_create_tmpfile hook Roberto Sassu
2023-09-05 18:52   ` Stefan Berger
2023-10-13 13:18   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 18/25] security: Introduce inode_post_set_acl hook Roberto Sassu
2023-09-05 19:00   ` Stefan Berger
2023-10-13 13:27   ` Mimi Zohar
2023-09-04 13:34 ` [PATCH v3 19/25] security: Introduce inode_post_remove_acl hook Roberto Sassu
2023-09-05 19:01   ` Stefan Berger
2023-09-04 13:40 ` [PATCH v3 20/25] security: Introduce key_post_create_or_update hook Roberto Sassu
2023-09-05 19:04   ` Stefan Berger
2023-09-26 11:15   ` Roberto Sassu
2023-10-13 13:37   ` Mimi Zohar
2023-09-04 13:40 ` [PATCH v3 21/25] ima: Move to LSM infrastructure Roberto Sassu
2023-09-05 19:17   ` Stefan Berger
2023-10-13 16:55   ` Mimi Zohar
2023-09-04 13:40 ` [PATCH v3 22/25] ima: Move IMA-Appraisal " Roberto Sassu
2023-09-05 20:54   ` Stefan Berger
2023-09-04 13:40 ` [PATCH v3 23/25] evm: Move " Roberto Sassu
2023-09-04 13:40 ` [PATCH v3 24/25] integrity: Move integrity functions to the " Roberto Sassu
2023-09-04 13:40 ` [PATCH v3 25/25] integrity: Switch from rbtree to LSM-managed blob for integrity_iint_cache Roberto Sassu
2023-09-12 16:19   ` Stefan Berger
2023-09-15  9:39     ` Roberto Sassu
2023-10-13 11:31       ` Roberto Sassu
2023-10-13 19:45 ` [PATCH v3 00/25] security: Move IMA and EVM to the LSM infrastructure Mimi Zohar

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=20230904133415.1799503-6-roberto.sassu@huaweicloud.com \
    --to=roberto.sassu@huaweicloud.com \
    --cc=Dai.Ngo@oracle.com \
    --cc=brauner@kernel.org \
    --cc=casey@schaufler-ca.com \
    --cc=chuck.lever@oracle.com \
    --cc=dhowells@redhat.com \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=eparis@parisplace.org \
    --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-nfs@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=neilb@suse.de \
    --cc=paul@paul-moore.com \
    --cc=roberto.sassu@huawei.com \
    --cc=selinux@vger.kernel.org \
    --cc=serge@hallyn.com \
    --cc=stefanb@linux.ibm.com \
    --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.