1 /* 2 * Copyright (C) 2008 IBM Corporation 3 * Author: Mimi Zohar <[email protected]> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation, version 2 of the License. 8 */ 9 10 #ifndef _LINUX_IMA_H 11 #define _LINUX_IMA_H 12 13 #include <linux/fs.h> 14 struct linux_binprm; 15 16 #ifdef CONFIG_IMA 17 extern int ima_bprm_check(struct linux_binprm *bprm); 18 extern int ima_file_check(struct file *file, int mask); 19 extern void ima_file_free(struct file *file); 20 extern int ima_file_mmap(struct file *file, unsigned long prot); 21 22 #else 23 static inline int ima_bprm_check(struct linux_binprm *bprm) 24 { 25 return 0; 26 } 27 28 static inline int ima_file_check(struct file *file, int mask) 29 { 30 return 0; 31 } 32 33 static inline void ima_file_free(struct file *file) 34 { 35 return; 36 } 37 38 static inline int ima_file_mmap(struct file *file, unsigned long prot) 39 { 40 return 0; 41 } 42 43 #endif /* CONFIG_IMA_H */ 44 45 #ifdef CONFIG_IMA_APPRAISE 46 extern void ima_inode_post_setattr(struct dentry *dentry); 47 extern int ima_inode_setxattr(struct dentry *dentry, const char *xattr_name, 48 const void *xattr_value, size_t xattr_value_len); 49 extern int ima_inode_removexattr(struct dentry *dentry, const char *xattr_name); 50 #else 51 static inline void ima_inode_post_setattr(struct dentry *dentry) 52 { 53 return; 54 } 55 56 static inline int ima_inode_setxattr(struct dentry *dentry, 57 const char *xattr_name, 58 const void *xattr_value, 59 size_t xattr_value_len) 60 { 61 return 0; 62 } 63 64 static inline int ima_inode_removexattr(struct dentry *dentry, 65 const char *xattr_name) 66 { 67 return 0; 68 } 69 #endif /* CONFIG_IMA_APPRAISE_H */ 70 #endif /* _LINUX_IMA_H */ 71