linux/include/linux/integrity.h
<<
>>
Prefs
   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 */
  58