aboutsummaryrefslogtreecommitdiff
path: root/include/linux/lsm_hook_defs.h
diff options
context:
space:
mode:
authorRoberto Sassu <roberto.sassu@huawei.com>2024-02-15 11:31:00 +0100
committerPaul Moore <paul@paul-moore.com>2024-02-15 23:43:42 -0500
commit8f46ff5767b0b18329140d80d6bcabd818f42c4c (patch)
tree0023bde4f2e5cacda47f6bb5edb32dd552dfeed8 /include/linux/lsm_hook_defs.h
parentdae52cbf5887ac51c3574648124cfe475a9b3246 (diff)
downloadlinux-8f46ff5767b0b18329140d80d6bcabd818f42c4c.tar.gz
linux-8f46ff5767b0b18329140d80d6bcabd818f42c4c.tar.bz2
linux-8f46ff5767b0b18329140d80d6bcabd818f42c4c.zip
security: Introduce file_post_open hook
In preparation to move IMA and EVM to the LSM infrastructure, introduce the file_post_open hook. Also, export security_file_post_open() for NFS. Based on policy, IMA calculates the digest of the file content and extends the TPM with the digest, verifies the file's integrity based on the digest, and/or includes the file digest in the audit log. LSMs could similarly take action depending on the file content and the access mask requested with open(). The new hook returns a value and can cause the open to be aborted. Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com> Reviewed-by: Stefan Berger <stefanb@linux.ibm.com> Acked-by: Casey Schaufler <casey@schaufler-ca.com> Reviewed-by: Mimi Zohar <zohar@linux.ibm.com> Acked-by: Christian Brauner <brauner@kernel.org> Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'include/linux/lsm_hook_defs.h')
-rw-r--r--include/linux/lsm_hook_defs.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/lsm_hook_defs.h b/include/linux/lsm_hook_defs.h
index f849f7d5bb53..3c84942d2818 100644
--- a/include/linux/lsm_hook_defs.h
+++ b/include/linux/lsm_hook_defs.h
@@ -191,6 +191,7 @@ LSM_HOOK(int, 0, file_send_sigiotask, struct task_struct *tsk,
struct fown_struct *fown, int sig)
LSM_HOOK(int, 0, file_receive, struct file *file)
LSM_HOOK(int, 0, file_open, struct file *file)
+LSM_HOOK(int, 0, file_post_open, struct file *file, int mask)
LSM_HOOK(int, 0, file_truncate, struct file *file)
LSM_HOOK(int, 0, task_alloc, struct task_struct *task,
unsigned long clone_flags)