1 /* SPDX-License-Identifier: GPL-2.0 */
5 * Copyright (c) 2009 IBM Corporation
6 * Author: Mimi Zohar <zohar@us.ibm.com>
12 #include <linux/integrity.h>
13 #include <linux/xattr.h>
16 extern int evm_set_key(void *key
, size_t keylen
);
17 extern enum integrity_status
evm_verifyxattr(struct dentry
*dentry
,
18 const char *xattr_name
,
20 size_t xattr_value_len
);
21 int evm_inode_init_security(struct inode
*inode
, struct inode
*dir
,
22 const struct qstr
*qstr
, struct xattr
*xattrs
,
24 extern bool evm_revalidate_status(const char *xattr_name
);
25 extern int evm_protected_xattr_if_enabled(const char *req_xattr_name
);
26 extern int evm_read_protected_xattrs(struct dentry
*dentry
, u8
*buffer
,
27 int buffer_size
, char type
,
29 extern bool evm_metadata_changed(struct inode
*inode
,
30 struct inode
*metadata_inode
);
31 #ifdef CONFIG_FS_POSIX_ACL
32 extern int posix_xattr_acl(const char *xattrname
);
34 static inline int posix_xattr_acl(const char *xattrname
)
41 static inline int evm_set_key(void *key
, size_t keylen
)
46 #ifdef CONFIG_INTEGRITY
47 static inline enum integrity_status
evm_verifyxattr(struct dentry
*dentry
,
48 const char *xattr_name
,
50 size_t xattr_value_len
)
52 return INTEGRITY_UNKNOWN
;
56 static inline int evm_inode_init_security(struct inode
*inode
, struct inode
*dir
,
57 const struct qstr
*qstr
,
64 static inline bool evm_revalidate_status(const char *xattr_name
)
69 static inline int evm_protected_xattr_if_enabled(const char *req_xattr_name
)
74 static inline int evm_read_protected_xattrs(struct dentry
*dentry
, u8
*buffer
,
75 int buffer_size
, char type
,
81 static inline bool evm_metadata_changed(struct inode
*inode
,
82 struct inode
*metadata_inode
)
87 #endif /* CONFIG_EVM */
88 #endif /* LINUX_EVM_H */