]> git.proxmox.com Git - mirror_zfs.git/blame - config/kernel-kmem-cache.m4
FreeBSD: Add zfs_link_create() error handling
[mirror_zfs.git] / config / kernel-kmem-cache.m4
CommitLineData
48ef8ba0
BB
1dnl #
2dnl # grsecurity API change,
3dnl # kmem_cache_create() with SLAB_USERCOPY flag replaced by
4dnl # kmem_cache_create_usercopy().
5dnl #
608f8749
BB
6AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY], [
7 ZFS_LINUX_TEST_SRC([kmem_cache_create_usercopy], [
48ef8ba0 8 #include <linux/slab.h>
608f8749 9 static void ctor(void *foo) { /* fake ctor */ }
48ef8ba0
BB
10 ],[
11 struct kmem_cache *skc_linux_cache;
12 const char *name = "test";
13 size_t size = 4096;
14 size_t align = 8;
15 unsigned long flags = 0;
16 size_t useroffset = 0;
17 size_t usersize = size - useroffset;
18
19 skc_linux_cache = kmem_cache_create_usercopy(
608f8749
BB
20 name, size, align, flags, useroffset, usersize, ctor);
21 ])
22])
23
24AC_DEFUN([ZFS_AC_KERNEL_KMEM_CACHE_CREATE_USERCOPY], [
25 AC_MSG_CHECKING([whether kmem_cache_create_usercopy() exists])
26 ZFS_LINUX_TEST_RESULT([kmem_cache_create_usercopy], [
48ef8ba0
BB
27 AC_MSG_RESULT(yes)
28 AC_DEFINE(HAVE_KMEM_CACHE_CREATE_USERCOPY, 1,
608f8749 29 [kmem_cache_create_usercopy() exists])
48ef8ba0
BB
30 ],[
31 AC_MSG_RESULT(no)
32 ])
608f8749
BB
33])
34
35AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE], [
608f8749
BB
36 ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY
37])
38
39AC_DEFUN([ZFS_AC_KERNEL_KMEM_CACHE], [
608f8749 40 ZFS_AC_KERNEL_KMEM_CACHE_CREATE_USERCOPY
48ef8ba0 41])