Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (C) 2009 IBM Corporation
4 * Author: Mimi Zohar <zohar@us.ibm.com>
5 */
6
7#ifndef _LINUX_INTEGRITY_H
8#define _LINUX_INTEGRITY_H
9
10#include <linux/fs.h>
11
12enum integrity_status {
13 INTEGRITY_PASS = 0,
14 INTEGRITY_PASS_IMMUTABLE,
15 INTEGRITY_FAIL,
16 INTEGRITY_NOLABEL,
17 INTEGRITY_NOXATTRS,
18 INTEGRITY_UNKNOWN,
19};
20
21/* List of EVM protected security xattrs */
22#ifdef CONFIG_INTEGRITY
23extern struct integrity_iint_cache *integrity_inode_get(struct inode *inode);
24extern void integrity_inode_free(struct inode *inode);
25extern void __init integrity_load_keys(void);
26
27#else
28static inline struct integrity_iint_cache *
29 integrity_inode_get(struct inode *inode)
30{
31 return NULL;
32}
33
34static inline void integrity_inode_free(struct inode *inode)
35{
36 return;
37}
38
39static inline void integrity_load_keys(void)
40{
41}
42#endif /* CONFIG_INTEGRITY */
43
44#ifdef CONFIG_INTEGRITY_ASYMMETRIC_KEYS
45
46extern int integrity_kernel_module_request(char *kmod_name);
47
48#else
49
50static inline int integrity_kernel_module_request(char *kmod_name)
51{
52 return 0;
53}
54
55#endif /* CONFIG_INTEGRITY_ASYMMETRIC_KEYS */
56
57#endif /* _LINUX_INTEGRITY_H */