| /* SPDX-License-Identifier: GPL-2.0-only */ | 
 | /* | 
 |  * Copyright (C) 2009 IBM Corporation | 
 |  * Author: Mimi Zohar <zohar@us.ibm.com> | 
 |  */ | 
 |  | 
 | #ifndef _LINUX_INTEGRITY_H | 
 | #define _LINUX_INTEGRITY_H | 
 |  | 
 | #include <linux/fs.h> | 
 |  | 
 | enum integrity_status { | 
 | 	INTEGRITY_PASS = 0, | 
 | 	INTEGRITY_PASS_IMMUTABLE, | 
 | 	INTEGRITY_FAIL, | 
 | 	INTEGRITY_FAIL_IMMUTABLE, | 
 | 	INTEGRITY_NOLABEL, | 
 | 	INTEGRITY_NOXATTRS, | 
 | 	INTEGRITY_UNKNOWN, | 
 | }; | 
 |  | 
 | /* List of EVM protected security xattrs */ | 
 | #ifdef CONFIG_INTEGRITY | 
 | extern struct integrity_iint_cache *integrity_inode_get(struct inode *inode); | 
 | extern void integrity_inode_free(struct inode *inode); | 
 | extern void __init integrity_load_keys(void); | 
 |  | 
 | #else | 
 | static inline struct integrity_iint_cache * | 
 | 				integrity_inode_get(struct inode *inode) | 
 | { | 
 | 	return NULL; | 
 | } | 
 |  | 
 | static inline void integrity_inode_free(struct inode *inode) | 
 | { | 
 | 	return; | 
 | } | 
 |  | 
 | static inline void integrity_load_keys(void) | 
 | { | 
 | } | 
 | #endif /* CONFIG_INTEGRITY */ | 
 |  | 
 | #ifdef CONFIG_INTEGRITY_ASYMMETRIC_KEYS | 
 |  | 
 | extern int integrity_kernel_module_request(char *kmod_name); | 
 |  | 
 | #else | 
 |  | 
 | static inline int integrity_kernel_module_request(char *kmod_name) | 
 | { | 
 | 	return 0; | 
 | } | 
 |  | 
 | #endif /* CONFIG_INTEGRITY_ASYMMETRIC_KEYS */ | 
 |  | 
 | #endif /* _LINUX_INTEGRITY_H */ |