aboutsummaryrefslogtreecommitdiffstats
path: root/security/integrity/integrity.h
diff options
context:
space:
mode:
Diffstat (limited to 'security/integrity/integrity.h')
-rw-r--r--security/integrity/integrity.h15
1 files changed, 12 insertions, 3 deletions
diff --git a/security/integrity/integrity.h b/security/integrity/integrity.h
index f86731649f54..0b02ea868e30 100644
--- a/security/integrity/integrity.h
+++ b/security/integrity/integrity.h
@@ -59,20 +59,29 @@ enum evm_ima_xattr_type {
59struct evm_ima_xattr_data { 59struct evm_ima_xattr_data {
60 u8 type; 60 u8 type;
61 u8 digest[SHA1_DIGEST_SIZE]; 61 u8 digest[SHA1_DIGEST_SIZE];
62} __attribute__((packed)); 62} __packed;
63
64#define IMA_MAX_DIGEST_SIZE 64
65
66struct ima_digest_data {
67 u8 algo;
68 u8 length;
69 u8 type;
70 u8 digest[IMA_MAX_DIGEST_SIZE];
71} __packed;
63 72
64/* integrity data associated with an inode */ 73/* integrity data associated with an inode */
65struct integrity_iint_cache { 74struct integrity_iint_cache {
66 struct rb_node rb_node; /* rooted in integrity_iint_tree */ 75 struct rb_node rb_node; /* rooted in integrity_iint_tree */
67 struct inode *inode; /* back pointer to inode in question */ 76 struct inode *inode; /* back pointer to inode in question */
68 u64 version; /* track inode changes */ 77 u64 version; /* track inode changes */
69 unsigned long flags; 78 unsigned long flags;
70 struct evm_ima_xattr_data ima_xattr;
71 enum integrity_status ima_file_status:4; 79 enum integrity_status ima_file_status:4;
72 enum integrity_status ima_mmap_status:4; 80 enum integrity_status ima_mmap_status:4;
73 enum integrity_status ima_bprm_status:4; 81 enum integrity_status ima_bprm_status:4;
74 enum integrity_status ima_module_status:4; 82 enum integrity_status ima_module_status:4;
75 enum integrity_status evm_status:4; 83 enum integrity_status evm_status:4;
84 struct ima_digest_data ima_hash;
76}; 85};
77 86
78/* rbtree tree calls to lookup, insert, delete 87/* rbtree tree calls to lookup, insert, delete