linux/security/integrity/evm/evm.h
<<
>>
Prefs
   1/*
   2 * Copyright (C) 2005-2010 IBM Corporation
   3 *
   4 * Authors:
   5 * Mimi Zohar <zohar@us.ibm.com>
   6 * Kylene Hall <kjhall@us.ibm.com>
   7 *
   8 * This program is free software; you can redistribute it and/or modify
   9 * it under the terms of the GNU General Public License as published by
  10 * the Free Software Foundation, version 2 of the License.
  11 *
  12 * File: evm.h
  13 *
  14 */
  15
  16#ifndef __INTEGRITY_EVM_H
  17#define __INTEGRITY_EVM_H
  18
  19#include <linux/xattr.h>
  20#include <linux/security.h>
  21
  22#include "../integrity.h"
  23
  24#define EVM_INIT_HMAC   0x0001
  25#define EVM_INIT_X509   0x0002
  26
  27extern int evm_initialized;
  28extern char *evm_hmac;
  29extern char *evm_hash;
  30
  31#define EVM_ATTR_FSUUID         0x0001
  32
  33extern int evm_hmac_attrs;
  34
  35extern struct crypto_shash *hmac_tfm;
  36extern struct crypto_shash *hash_tfm;
  37
  38/* List of EVM protected security xattrs */
  39extern char *evm_config_xattrnames[];
  40
  41int evm_init_key(void);
  42int evm_update_evmxattr(struct dentry *dentry,
  43                        const char *req_xattr_name,
  44                        const char *req_xattr_value,
  45                        size_t req_xattr_value_len);
  46int evm_calc_hmac(struct dentry *dentry, const char *req_xattr_name,
  47                  const char *req_xattr_value,
  48                  size_t req_xattr_value_len, char *digest);
  49int evm_calc_hash(struct dentry *dentry, const char *req_xattr_name,
  50                  const char *req_xattr_value,
  51                  size_t req_xattr_value_len, char *digest);
  52int evm_init_hmac(struct inode *inode, const struct xattr *xattr,
  53                  char *hmac_val);
  54int evm_init_secfs(void);
  55
  56#endif
  57