1dnl # 2dnl # grsecurity API change, 3dnl # kmem_cache_create() with SLAB_USERCOPY flag replaced by 4dnl # kmem_cache_create_usercopy(). 5dnl # 6AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY], [ 7 ZFS_LINUX_TEST_SRC([kmem_cache_create_usercopy], [ 8 #include <linux/slab.h> 9 static void ctor(void *foo) { /* fake ctor */ } 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( 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], [ 27 AC_MSG_RESULT(yes) 28 AC_DEFINE(HAVE_KMEM_CACHE_CREATE_USERCOPY, 1, 29 [kmem_cache_create_usercopy() exists]) 30 ],[ 31 AC_MSG_RESULT(no) 32 ]) 33]) 34 35AC_DEFUN([ZFS_AC_KERNEL_SRC_KMEM_CACHE], [ 36 ZFS_AC_KERNEL_SRC_KMEM_CACHE_CREATE_USERCOPY 37]) 38 39AC_DEFUN([ZFS_AC_KERNEL_KMEM_CACHE], [ 40 ZFS_AC_KERNEL_KMEM_CACHE_CREATE_USERCOPY 41]) 42