diff options
author | Roberto Sassu <roberto.sassu@huawei.com> | 2024-02-15 11:30:58 +0100 |
---|---|---|
committer | Paul Moore <paul@paul-moore.com> | 2024-02-16 05:43:42 +0100 |
commit | 77fa6f314f0376176ef6bf3d84403e0d8b54ce28 (patch) | |
tree | 60fa6a1ee957c2387f77fbc8aaffcb92a7299c9b /fs/attr.c | |
parent | security: Align inode_setattr hook definition with EVM (diff) | |
download | linux-77fa6f314f0376176ef6bf3d84403e0d8b54ce28.tar.xz linux-77fa6f314f0376176ef6bf3d84403e0d8b54ce28.zip |
security: Introduce inode_post_setattr hook
In preparation for moving IMA and EVM to the LSM infrastructure, introduce
the inode_post_setattr hook.
At inode_setattr hook, EVM verifies the file's existing HMAC value. At
inode_post_setattr, EVM re-calculates the file's HMAC based on the modified
file attributes and other file metadata.
Other LSMs could similarly take some action after successful file attribute
change.
The new hook cannot return an error and cannot cause the operation to be
reverted.
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Mimi Zohar <zohar@linux.ibm.com>
Acked-by: Casey Schaufler <casey@schaufler-ca.com>
Acked-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Paul Moore <paul@paul-moore.com>
Diffstat (limited to 'fs/attr.c')
-rw-r--r-- | fs/attr.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/attr.c b/fs/attr.c index adeba0ec40f1..990e1b3a3c91 100644 --- a/fs/attr.c +++ b/fs/attr.c @@ -502,6 +502,7 @@ int notify_change(struct mnt_idmap *idmap, struct dentry *dentry, if (!error) { fsnotify_change(dentry, ia_valid); + security_inode_post_setattr(idmap, dentry, ia_valid); ima_inode_post_setattr(idmap, dentry, ia_valid); evm_inode_post_setattr(idmap, dentry, ia_valid); } |