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