aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux/security.h
diff options
context:
space:
mode:
authorFan Wu <wufan@linux.microsoft.com>2024-08-02 23:08:28 -0700
committerPaul Moore <paul@paul-moore.com>2024-08-20 14:02:58 -0400
commitfb55e177d5936fb80fb2586036d195c57e7f6892 (patch)
tree0d6854ff38a9ee6d6332e1a1d1975f8da65e4309 /include/linux/security.h
parentipe: add support for dm-verity as a trust provider (diff)
downloadwireguard-linux-fb55e177d5936fb80fb2586036d195c57e7f6892.tar.xz
wireguard-linux-fb55e177d5936fb80fb2586036d195c57e7f6892.zip
lsm: add security_inode_setintegrity() hook
This patch introduces a new hook to save inode's integrity data. For example, for fsverity enabled files, LSMs can use this hook to save the existence of verified fsverity builtin signature into the inode's security blob, and LSMs can make access decisions based on this data. Signed-off-by: Fan Wu <wufan@linux.microsoft.com> [PM: subject line tweak, removed changelog] Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/linux/security.h')
-rw-r--r--include/linux/security.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/security.h b/include/linux/security.h
index e383022467db..97b7c57e6560 100644
--- a/include/linux/security.h
+++ b/include/linux/security.h
@@ -410,6 +410,9 @@ int security_inode_listsecurity(struct inode *inode, char *buffer, size_t buffer
void security_inode_getsecid(struct inode *inode, u32 *secid);
int security_inode_copy_up(struct dentry *src, struct cred **new);
int security_inode_copy_up_xattr(struct dentry *src, const char *name);
+int security_inode_setintegrity(const struct inode *inode,
+ enum lsm_integrity_type type, const void *value,
+ size_t size);
int security_kernfs_init_security(struct kernfs_node *kn_dir,
struct kernfs_node *kn);
int security_file_permission(struct file *file, int mask);
@@ -1026,6 +1029,13 @@ static inline int security_inode_copy_up(struct dentry *src, struct cred **new)
return 0;
}
+static inline int security_inode_setintegrity(const struct inode *inode,
+ enum lsm_integrity_type type,
+ const void *value, size_t size)
+{
+ return 0;
+}
+
static inline int security_kernfs_init_security(struct kernfs_node *kn_dir,
struct kernfs_node *kn)
{