blob: a730782da56372cf9f53e527b7ab5edcaba128bf [file] [log] [blame]
Mimi Zohar3e1be522011-03-09 14:38:26 -05001/*
2 * evm.h
3 *
4 * Copyright (c) 2009 IBM Corporation
5 * Author: Mimi Zohar <zohar@us.ibm.com>
6 */
7
8#ifndef _LINUX_EVM_H
9#define _LINUX_EVM_H
10
11#include <linux/integrity.h>
12
13#ifdef CONFIG_EVM
14extern enum integrity_status evm_verifyxattr(struct dentry *dentry,
15 const char *xattr_name,
16 void *xattr_value,
17 size_t xattr_value_len);
18extern int evm_inode_setxattr(struct dentry *dentry, const char *name,
19 const void *value, size_t size);
20extern void evm_inode_post_setxattr(struct dentry *dentry,
21 const char *xattr_name,
22 const void *xattr_value,
23 size_t xattr_value_len);
24extern int evm_inode_removexattr(struct dentry *dentry, const char *xattr_name);
Mimi Zoharc7b87de2011-03-09 14:39:18 -050025extern void evm_inode_post_removexattr(struct dentry *dentry,
26 const char *xattr_name);
Mimi Zohar3e1be522011-03-09 14:38:26 -050027#else
28#ifdef CONFIG_INTEGRITY
29static inline enum integrity_status evm_verifyxattr(struct dentry *dentry,
30 const char *xattr_name,
31 void *xattr_value,
32 size_t xattr_value_len)
33{
34 return INTEGRITY_UNKNOWN;
35}
36#endif
37
38static inline int evm_inode_setxattr(struct dentry *dentry, const char *name,
39 const void *value, size_t size)
40{
41 return 0;
42}
43
44static inline void evm_inode_post_setxattr(struct dentry *dentry,
45 const char *xattr_name,
46 const void *xattr_value,
47 size_t xattr_value_len)
48{
49 return;
50}
51
52static inline int evm_inode_removexattr(struct dentry *dentry,
53 const char *xattr_name)
54{
55 return 0;
56}
Mimi Zoharc7b87de2011-03-09 14:39:18 -050057
58static inline void evm_inode_post_removexattr(struct dentry *dentry,
59 const char *xattr_name)
60{
61 return;
62}
63
Mimi Zohar3e1be522011-03-09 14:38:26 -050064#endif /* CONFIG_EVM_H */
65#endif /* LINUX_EVM_H */