1dnl #
2dnl # 3.2 API change
3dnl # The security_inode_init_security() API has been changed to include
4dnl # a filesystem specific callback to write security extended attributes.
5dnl # This was done to support the initialization of multiple LSM xattrs
6dnl # and the EVM xattr.
7dnl #
8AC_DEFUN([ZFS_AC_KERNEL_SRC_SECURITY_INODE_INIT_SECURITY_CALLBACK], [
9	ZFS_LINUX_TEST_SRC([security_inode_init_security], [
10		#include <linux/security.h>
11	],[
12		struct inode *ip __attribute__ ((unused)) = NULL;
13		struct inode *dip __attribute__ ((unused)) = NULL;
14		const struct qstr *str __attribute__ ((unused)) = NULL;
15		initxattrs func __attribute__ ((unused)) = NULL;
16
17		security_inode_init_security(ip, dip, str, func, NULL);
18	])
19])
20
21AC_DEFUN([ZFS_AC_KERNEL_SECURITY_INODE_INIT_SECURITY_CALLBACK], [
22	AC_MSG_CHECKING([whether security_inode_init_security wants callback])
23	ZFS_LINUX_TEST_RESULT([security_inode_init_security], [
24		AC_MSG_RESULT(yes)
25	],[
26		ZFS_LINUX_TEST_ERROR([security_inode_init_security callback])
27	])
28])
29
30AC_DEFUN([ZFS_AC_KERNEL_SRC_SECURITY_INODE], [
31	ZFS_AC_KERNEL_SRC_SECURITY_INODE_INIT_SECURITY_CALLBACK
32])
33
34AC_DEFUN([ZFS_AC_KERNEL_SECURITY_INODE], [
35	ZFS_AC_KERNEL_SECURITY_INODE_INIT_SECURITY_CALLBACK
36])
37