dnl # dnl # grsecurity API change, dnl # kmem_cache_create() with SLAB_USERCOPY flag replaced by dnl # kmem_cache_create_usercopy(). dnl # AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY], [ ZFS_LINUX_TEST_SRC([kmem_cache_create_usercopy], [ #include static void ctor(void *foo) { /* fake ctor */ } ],[ struct kmem_cache *skc_linux_cache; const char *name = "test"; size_t size = 4096; size_t align = 8; unsigned long flags = 0; size_t useroffset = 0; size_t usersize = size - useroffset; skc_linux_cache = kmem_cache_create_usercopy( name, size, align, flags, useroffset, usersize, ctor); ]) ]) AC_DEFUN([ZFS_AC_KERNEL_KMEM_CACHE_CREATE_USERCOPY], [ AC_MSG_CHECKING([whether kmem_cache_create_usercopy() exists]) ZFS_LINUX_TEST_RESULT([kmem_cache_create_usercopy], [ AC_MSG_RESULT(yes) AC_DEFINE(HAVE_KMEM_CACHE_CREATE_USERCOPY, 1, [kmem_cache_create_usercopy() exists]) ],[ AC_MSG_RESULT(no) ]) ]) AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE], [ ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY ]) AC_DEFUN([ZFS_AC_KERNEL_KMEM_CACHE], [ ZFS_AC_KERNEL_KMEM_CACHE_CREATE_USERCOPY ])