/* 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_NOLABEL, INTEGRITY_NOXATTRS, INTEGRITY_UNKNOWN, }; /* List of EVM protected security xattrs */ #ifdef [31mCONFIG_INTEGRITY[0m 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 [31mCONFIG_INTEGRITY_ASYMMETRIC_KEYS[0m 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 */ |