cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

integrity.h (1179B)


      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_FAIL_IMMUTABLE,
     17	INTEGRITY_NOLABEL,
     18	INTEGRITY_NOXATTRS,
     19	INTEGRITY_UNKNOWN,
     20};
     21
     22/* List of EVM protected security xattrs */
     23#ifdef CONFIG_INTEGRITY
     24extern struct integrity_iint_cache *integrity_inode_get(struct inode *inode);
     25extern void integrity_inode_free(struct inode *inode);
     26extern void __init integrity_load_keys(void);
     27
     28#else
     29static inline struct integrity_iint_cache *
     30				integrity_inode_get(struct inode *inode)
     31{
     32	return NULL;
     33}
     34
     35static inline void integrity_inode_free(struct inode *inode)
     36{
     37	return;
     38}
     39
     40static inline void integrity_load_keys(void)
     41{
     42}
     43#endif /* CONFIG_INTEGRITY */
     44
     45#ifdef CONFIG_INTEGRITY_ASYMMETRIC_KEYS
     46
     47extern int integrity_kernel_module_request(char *kmod_name);
     48
     49#else
     50
     51static inline int integrity_kernel_module_request(char *kmod_name)
     52{
     53	return 0;
     54}
     55
     56#endif /* CONFIG_INTEGRITY_ASYMMETRIC_KEYS */
     57
     58#endif /* _LINUX_INTEGRITY_H */