Skip to content

Commit

Permalink
ima: add inode_post_setattr call
Browse files Browse the repository at this point in the history
Changing an inode's metadata may result in our not needing to appraise
the file.  In such cases, we must remove 'security.ima'.

Changelog v1:
- use ima_inode_post_setattr() stub function, if IMA_APPRAISE not configured

Signed-off-by: Mimi Zohar <[email protected]>
Acked-by: Serge Hallyn <[email protected]>
Acked-by: Dmitry Kasatkin <[email protected]>
  • Loading branch information
Mimi Zohar committed Sep 7, 2012
1 parent a10bf26 commit 9957a50
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 0 deletions.
2 changes: 2 additions & 0 deletions fs/attr.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#include <linux/fcntl.h>
#include <linux/security.h>
#include <linux/evm.h>
#include <linux/ima.h>

/**
* inode_change_ok - check if attribute changes to an inode are allowed
Expand Down Expand Up @@ -247,6 +248,7 @@ int notify_change(struct dentry * dentry, struct iattr * attr)

if (!error) {
fsnotify_change(dentry, ia_valid);
ima_inode_post_setattr(dentry);
evm_inode_post_setattr(dentry, ia_valid);
}

Expand Down
10 changes: 10 additions & 0 deletions include/linux/ima.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,5 +39,15 @@ static inline int ima_file_mmap(struct file *file, unsigned long prot)
{
return 0;
}

#endif /* CONFIG_IMA_H */

#ifdef CONFIG_IMA_APPRAISE
extern void ima_inode_post_setattr(struct dentry *dentry);
#else
static inline void ima_inode_post_setattr(struct dentry *dentry)
{
return;
}
#endif /* CONFIG_IMA_APPRAISE_H */
#endif /* _LINUX_IMA_H */

0 comments on commit 9957a50

Please sign in to comment.