aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMimi Zohar <zohar@linux.vnet.ibm.com>2017-04-24 22:43:52 -0400
committerMimi Zohar <zohar@linux.vnet.ibm.com>2017-06-21 14:37:12 -0400
commit6f6723e21589f4594bb72b27ddbb2f75defb33bb (patch)
tree195ca6479f58a4519e092710b49848173f615aa3
parente1f5e01f4b035ced1c71b40866e4e5c0508fbb0b (diff)
ima: define is_ima_appraise_enabled()
Only return enabled if in enforcing mode, not fix or log modes. Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com> Changes: - Define is_ima_appraise_enabled() as a bool (Thiago Bauermann)
-rw-r--r--include/linux/ima.h6
-rw-r--r--security/integrity/ima/ima_appraise.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/include/linux/ima.h b/include/linux/ima.h
index 7f6952f8d6aa..0e4647e0eb60 100644
--- a/include/linux/ima.h
+++ b/include/linux/ima.h
@@ -75,11 +75,17 @@ static inline void ima_add_kexec_buffer(struct kimage *image)
75#endif 75#endif
76 76
77#ifdef CONFIG_IMA_APPRAISE 77#ifdef CONFIG_IMA_APPRAISE
78extern bool is_ima_appraise_enabled(void);
78extern void ima_inode_post_setattr(struct dentry *dentry); 79extern void ima_inode_post_setattr(struct dentry *dentry);
79extern int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name, 80extern int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name,
80 const void *xattr_value, size_t xattr_value_len); 81 const void *xattr_value, size_t xattr_value_len);
81extern int ima_inode_removexattr(struct dentry *dentry, const char *xattr_name); 82extern int ima_inode_removexattr(struct dentry *dentry, const char *xattr_name);
82#else 83#else
84static inline bool is_ima_appraise_enabled(void)
85{
86 return 0;
87}
88
83static inline void ima_inode_post_setattr(struct dentry *dentry) 89static inline void ima_inode_post_setattr(struct dentry *dentry)
84{ 90{
85 return; 91 return;
diff --git a/security/integrity/ima/ima_appraise.c b/security/integrity/ima/ima_appraise.c
index ac546df73afc..7fe0566142d8 100644
--- a/security/integrity/ima/ima_appraise.c
+++ b/security/integrity/ima/ima_appraise.c
@@ -34,6 +34,16 @@ static int __init default_appraise_setup(char *str)
34__setup("ima_appraise=", default_appraise_setup); 34__setup("ima_appraise=", default_appraise_setup);
35 35
36/* 36/*
37 * is_ima_appraise_enabled - return appraise status
38 *
39 * Only return enabled, if not in ima_appraise="fix" or "log" modes.
40 */
41bool is_ima_appraise_enabled(void)
42{
43 return (ima_appraise & IMA_APPRAISE_ENFORCE) ? 1 : 0;
44}
45
46/*
37 * ima_must_appraise - set appraise flag 47 * ima_must_appraise - set appraise flag
38 * 48 *
39 * Return 1 to appraise 49 * Return 1 to appraise