aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRob Norris <[email protected]>2024-08-24 20:52:58 +1000
committerBrian Behlendorf <[email protected]>2024-09-18 11:23:50 -0700
commit2c84b59e73c2cf72649e1b236ca49ceb803a7305 (patch)
tree942d33c8077124bc20e0ec9a48832d8c9e3f0ba7
parent536a0a8a84f180b109a34a60120b58c4c765a18d (diff)
config: remove HAVE_KMEM_CACHE_CREATE_USERCOPY
Sponsored-by: https://despairlabs.com/sponsor/ Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: Tony Hutter <[email protected]> Reviewed-by: Tino Reichardt <[email protected]> Signed-off-by: Rob Norris <[email protected]> Closes #16479
-rw-r--r--config/kernel-kmem-cache.m441
-rw-r--r--config/kernel.m42
-rw-r--r--module/os/linux/spl/spl-kmem-cache.c17
3 files changed, 0 insertions, 60 deletions
diff --git a/config/kernel-kmem-cache.m4 b/config/kernel-kmem-cache.m4
deleted file mode 100644
index 0e9fe9eb2..000000000
--- a/config/kernel-kmem-cache.m4
+++ /dev/null
@@ -1,41 +0,0 @@
-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 <linux/slab.h>
- 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
-])
diff --git a/config/kernel.m4 b/config/kernel.m4
index 38eb86280..eddb90a74 100644
--- a/config/kernel.m4
+++ b/config/kernel.m4
@@ -45,7 +45,6 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
ZFS_AC_KERNEL_SRC_GENERIC_FADVISE
ZFS_AC_KERNEL_SRC_SCHED
ZFS_AC_KERNEL_SRC_USLEEP_RANGE
- ZFS_AC_KERNEL_SRC_KMEM_CACHE
ZFS_AC_KERNEL_SRC_KVMALLOC
ZFS_AC_KERNEL_SRC_VMALLOC_PAGE_KERNEL
ZFS_AC_KERNEL_SRC_WAIT
@@ -164,7 +163,6 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
ZFS_AC_KERNEL_GENERIC_FADVISE
ZFS_AC_KERNEL_SCHED
ZFS_AC_KERNEL_USLEEP_RANGE
- ZFS_AC_KERNEL_KMEM_CACHE
ZFS_AC_KERNEL_KVMALLOC
ZFS_AC_KERNEL_VMALLOC_PAGE_KERNEL
ZFS_AC_KERNEL_WAIT
diff --git a/module/os/linux/spl/spl-kmem-cache.c b/module/os/linux/spl/spl-kmem-cache.c
index 7596f97b4..7e806bd56 100644
--- a/module/os/linux/spl/spl-kmem-cache.c
+++ b/module/os/linux/spl/spl-kmem-cache.c
@@ -786,25 +786,8 @@ spl_kmem_cache_create(const char *name, size_t size, size_t align,
if (skc->skc_flags & KMC_RECLAIMABLE)
slabflags |= SLAB_RECLAIM_ACCOUNT;
-#if defined(SLAB_USERCOPY)
- /*
- * Required for PAX-enabled kernels if the slab is to be
- * used for copying between user and kernel space.
- */
- slabflags |= SLAB_USERCOPY;
-#endif
-
-#if defined(HAVE_KMEM_CACHE_CREATE_USERCOPY)
- /*
- * Newer grsec patchset uses kmem_cache_create_usercopy()
- * instead of SLAB_USERCOPY flag
- */
skc->skc_linux_cache = kmem_cache_create_usercopy(
skc->skc_name, size, align, slabflags, 0, size, NULL);
-#else
- skc->skc_linux_cache = kmem_cache_create(
- skc->skc_name, size, align, slabflags, NULL);
-#endif
if (skc->skc_linux_cache == NULL)
goto out;
}