zfs/config
Rob Norris 21cba06bef
config: fix dequeue_signal check for kernels <4.20
Before 4.20, kernel_siginfo_t was just called siginfo_t. This was
causing the kthread_dequeue_signal_3arg_task check, which uses
kernel_siginfo_t, to fail on older kernels.

In d6b8c17f1, we started checking for the "new" three-arg
dequeue_signal() by testing for the "old" version. Because that test is
explicitly using kernel_siginfo_t, it would fail, leading to the build
trying to use the new three-arg version, which would then not compile.

This commit fixes that by avoiding checking for the old 3-arg
dequeue_signal entirely. Instead, we check for the new one, as well as
the 4-arg form, and we use the old form as a fallback. This way, we
never have to test for it explicitly, and once we're building
HAVE_SIGINFO will make sure we get the right kernel_siginfo_t for it, so
everything works out nice.

Original-patch-by: Finix <yancw@info2soft.com>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Rob Norris <robn@despairlabs.com>
Closes #16666
2024-10-20 19:50:13 -07:00
..
.gitignore Prepare SPL repo to merge with ZFS repo 2018-05-29 14:51:39 -07:00
CppCheck.am cppcheck: explicitly exclude kernel code from userspace checks 2022-05-10 10:20:55 -07:00
Rules.am build: rename FORCEDEBUG_CPPFLAGS to LIBZPOOL_CPPFLAGS 2024-08-27 12:53:27 -07:00
Shellcheck.am shellcheck: disable "unreachable command" check [SC2317] 2023-07-21 11:53:06 -07:00
Substfiles.am config/Substfiles.am: restrict to the dedicated list. 2024-04-09 16:34:58 -07:00
always-arch.m4 Add ARM architecture to OpenZFS buildsystem 2023-03-02 13:51:50 -08:00
always-compiler-options.m4 Fix Clang 15 compilation errors 2022-11-30 13:46:26 -08:00
always-cppcheck.m4 autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00
always-parallel.m4 config: check for parallel(1), use it for cstyle 2022-01-06 12:46:42 -08:00
always-python.m4 Removed Python 2 and Python 3.5- support 2022-01-13 09:51:12 -07:00
always-pyzfs.m4 Python 3.12 deprecated python3-distutils 2024-04-25 13:40:09 -07:00
always-sed.m4 Add compatibility for busybox mktemp 2020-12-03 10:01:16 -08:00
always-shellcheck.m4 Turn checkbashisms into a make target 2021-06-01 11:38:54 -07:00
always-system.m4 autoconf: use include directives instead of recursing down lib 2022-05-10 10:18:11 -07:00
ax_code_coverage.m4 Updated the lz4 decompressor 2022-01-07 10:36:49 -08:00
ax_compare_version.m4 config/kernel: enforce maximum kernel version, with escape hatch 2024-09-23 10:44:49 -07:00
ax_count_cpus.m4 cppcheck: integrete cppcheck 2021-01-26 16:12:26 -08:00
ax_python_devel.m4 Python 3.12 deprecated python3-distutils 2024-04-25 13:40:09 -07:00
ax_restore_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
ax_save_flags.m4 config: better libtirpc detection 2019-03-02 16:19:05 -08:00
config.rpath Add config.rpath for AM_GNU_GETTEXT 2020-07-10 14:26:12 -07:00
deb.am Only serialize native-deb* targets 2024-10-08 09:27:38 -07:00
find_system_library.m4 find_system_library: fix var cleanup when library not found 2024-05-01 10:51:14 -07:00
gettext.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
host-cpu-c-abi.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
iconv.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
kernel-access-ok-type.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-acl.m4 config: remove HAVE_ACL_REFCOUNT 2024-09-18 11:23:50 -07:00
kernel-add-disk.m4 Fix clang 13 compilation errors 2022-06-15 14:20:28 -07:00
kernel-assign_str.m4 Linux 6.10 compat: Fix tracepoints definitions 2024-09-17 13:38:02 -07:00
kernel-automount.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-bio.m4 config: remove HAVE_BIO_SET_DEV 2024-09-18 11:23:51 -07:00
kernel-bio_max_segs.m4 Linux 5.12 update: bio_max_segs() replaces BIO_MAX_PAGES 2021-03-19 22:33:42 -07:00
kernel-blk-queue.m4 config: remove HAVE_BLK_MQ 2024-09-18 11:23:50 -07:00
kernel-blkdev.m4 config: remove HAVE_MODE_LOOKUP_BDEV 2024-09-18 11:23:51 -07:00
kernel-block-device-operations.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-commit-metadata.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-config-defined.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-copy-from-user-inatomic.m4 autoconf: Fail when __copy_from_user_inatomic is a non-GPL symbol 2022-05-11 10:32:51 -07:00
kernel-cpu_has_feature.m4 Workaround for Linux PowerPC GPL-only cpu_has_feature() 2023-03-10 09:35:00 -08:00
kernel-declare-event-class.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-dentry-operations.m4 config: remove test for unused s_d_op 2024-09-18 11:23:51 -07:00
kernel-discard-granularity.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-file.m4 Linux 6.12: f_version removed from struct file 2024-10-01 13:54:00 -07:00
kernel-filemap-splice-read.m4 Linux 6.5 compat: Use copy_splice_read instead of filemap_splice_read 2023-08-08 15:42:32 -07:00
kernel-flush_dcache_page.m4 compact: workaround for GPL-only symbols on riscv from Linux 6.2 2023-12-06 12:37:50 -08:00
kernel-fmode-t.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-follow-down-one.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-fpu.m4 Linux 6.2 compat: add check for kernel_neon_* availability 2024-01-08 16:05:24 -08:00
kernel-fst-mount.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-fsync-bdev.m4 Linux 6.6 compat: fsync_bdev() has been removed in favor of sync_blockdev() 2023-09-21 18:38:40 -07:00
kernel-generic_fadvise.m4 Add Linux posix_fadvise support 2022-09-08 10:29:41 -07:00
kernel-generic_fillattr.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-generic_io_acct.m4 config: remove HAVE_GENERIC_IO_ACCT_3ARG 2024-09-18 11:23:51 -07:00
kernel-genhd-flags.m4 config: rework ZFS_GENHD_FL_* 2024-09-18 11:23:51 -07:00
kernel-get-disk-ro.m4 libtpool: -Wno-clobbered 2022-02-18 09:34:25 -08:00
kernel-iattr-vfsid.m4 Support idmapped mount in user namespace 2022-11-08 10:28:56 -08:00
kernel-idmap_mnt_api.m4 Linux 6.8 compat: handle mnt_idmap user_namespace change 2024-01-29 11:36:07 -08:00
kernel-inode-create.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-inode-getattr.m4 config: remove HAVE_VFSMOUNT_IOPS_GETATTR 2024-09-18 11:23:51 -07:00
kernel-inode-lookup.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-inode-permission.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-inode-setattr.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-inode-times.m4 config: remove HAVE_INODE_TIMESPEC64_TIMES 2024-09-18 11:23:50 -07:00
kernel-insert-inode-locked.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-is_owner_or_cap.m4 Linux 6.3 compat: idmapped mount API changes 2023-04-10 14:15:36 -07:00
kernel-kmap-atomic-args.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-kmap-local-page.m4 Use kmap_local_page instead of kmap_atomic (#16329) 2024-07-16 17:27:29 -07:00
kernel-kmem.m4 config: remove HAVE_KVMALLOC 2024-09-18 11:23:50 -07:00
kernel-kthread.m4 config: fix dequeue_signal check for kernels <4.20 2024-10-20 19:50:13 -07:00
kernel-kuid-helpers.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-kuidgid.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-make-request-fn.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-misc-minor.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-mkdir.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-mknod.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-mm-page-flags.m4 Linux 6.12: PG_error flag was removed 2024-10-01 13:54:05 -07:00
kernel-mm-pagemap.m4 config: fix page_mapping test 2024-09-18 11:23:51 -07:00
kernel-objtool.m4 Linux 5.10 compat: frame.h renamed objtool.h 2020-11-02 22:01:10 +00:00
kernel-pagemap-folio_wait_bit.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-pde-data.m4 Linux 5.17 compat: PDE_DATA() renamed to pde_data() 2022-01-25 12:53:00 -08:00
kernel-percpu.m4 config: remove HAVE_PERCPU_COUNTER_ADD_BATCH 2024-09-18 11:23:50 -07:00
kernel-proc-operations.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-readpages.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-reclaim_state.m4 Linux 6.4 compat: reclaimed_slab renamed to reclaimed 2023-05-24 12:23:42 -07:00
kernel-register_sysctl_table.m4 Linux 6.11: avoid passing "end" sentinel to register_sysctl() 2024-08-13 17:47:22 -07:00
kernel-rename.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-revalidate-disk-size.m4 Linux 5.18 compat: replace genhd.h with blkdev.h includes 2022-03-28 09:52:55 -07:00
kernel-sched.m4 config: remove HAVE_SCHED_SIGNAL_HEADER 2024-09-18 11:23:50 -07:00
kernel-security-inode-init.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-set-nlink.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-setattr-prepare.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-sget-args.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-show-options.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-shrink.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-siginfo.m4 Add SIGSTOP and SIGTSTP handling to issig 2021-04-15 13:34:35 -07:00
kernel-stdarg.m4 Linux 5.15 compat: standalone <linux/stdarg.h> 2021-09-08 12:59:43 -07:00
kernel-strlcpy.m4 config: remove HAVE_KERNEL_STRSCPY 2024-09-18 11:23:49 -07:00
kernel-symlink.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-sysfs.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-tmpfile.m4 config: remove HAVE_TMPFILE 2024-09-18 11:23:50 -07:00
kernel-totalhigh_pages.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-totalram-pages-func.m4 Perform KABI checks in parallel 2019-10-01 12:50:34 -07:00
kernel-truncate-setsize.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-types.m4 Linux 6.7 compat: detect if kernel defines intptr_t 2024-05-24 18:54:24 -07:00
kernel-userns-capabilities.m4 config: remove HAVE_HAS_CAPABILITY 2024-09-18 11:23:51 -07:00
kernel-usleep_range.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-vfs-direct_IO.m4 config: remove HAVE_VFS_DIRECT_IO_ITER_RW_OFFSET 2024-09-18 11:23:50 -07:00
kernel-vfs-file_range.m4 config: remove HAVE_VFS_COPY_FILE_RANGE 2024-09-18 11:23:50 -07:00
kernel-vfs-filemap_dirty_folio.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-vfs-fsync.m4 Linux compat: Minimum kernel version 3.10 2019-11-12 08:59:06 -08:00
kernel-vfs-invalidate_folio.m4 Avoid BUG in migrate_folio_extra 2024-09-26 08:57:09 -07:00
kernel-vfs-iov_iter.m4 config: remove checks with unused defines 2024-09-18 11:23:35 -07:00
kernel-vfs-read_folio.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-vfs-release_folio.m4 Avoid BUG in migrate_folio_extra 2024-09-26 08:57:09 -07:00
kernel-vfs-set_page_dirty.m4 autoconf: AC_MSG_CHECKING consistency 2022-06-01 09:59:37 -07:00
kernel-writepage_t.m4 Linux 6.8 compat: make test functions static 2024-01-29 11:36:07 -08:00
kernel-xattr-handler.m4 config: fix various bits of missing output 2024-09-18 11:23:51 -07:00
kernel-zero_page.m4 Adding ZERO_PAGE detection 2022-03-14 12:37:39 -07:00
kernel.m4 Linux 6.12: PG_error flag was removed 2024-10-01 13:54:05 -07:00
lib-ld.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
lib-link.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
lib-prefix.m4 Clarify comments in config/*.m4, vdev_geom.c, zfs_allow_*.ksh 2020-06-22 09:46:37 -07:00
mount-helper.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
nls.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
pkg.m4 Fix typos in config/ 2019-08-30 09:40:30 -07:00
po.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
progtest.m4 config: libintl/libiconv for gettext() detection 2019-04-19 12:09:29 -07:00
rpm.am Make sure all necessary RPM path macros are defined 2024-01-16 13:32:59 -08:00
tgz.am Make RPM_DEFINE_KMOD conditional on CONFIG_KERNEL 2020-07-14 17:32:21 -07:00
toolchain-simd.m4 Linux 5.16 compat: don't use XSTATE_XSAVE to save FPU state 2022-02-09 12:50:10 -08:00
user-aio.h.m4 config: user: check for <aio.h> 2022-03-28 10:24:22 -07:00
user-backtrace.m4 libspl/assert: dump backtrace in assert 2024-05-01 10:52:00 -07:00
user-clock_gettime.m4 Clean up lib dependencies 2020-07-10 14:26:00 -07:00
user-dracut.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-gettext.m4 Add config.rpath for AM_GNU_GETTEXT 2020-07-10 14:26:12 -07:00
user-libaio.m4 config: user: check for <aio.h> 2022-03-28 10:24:22 -07:00
user-libatomic.m4 config/libatomic: require -latomic iff atomic.c doesn't link w/o it 2021-07-13 13:50:48 -07:00
user-libblkid.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libcrypto.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libexec.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-libfetch.m4 libfetch: unquote @LIBFETCH_SONAME@ subst 2022-01-06 11:26:40 -08:00
user-libtirpc.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libudev.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-libunwind.m4 libspl/assert: use libunwind for backtrace when available 2024-05-01 10:52:05 -07:00
user-libuuid.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user-makedev.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-pam.m4 Use correct prefix for share/pam-configs 2020-07-30 09:09:46 -07:00
user-runstatedir.m4 Add defs for makefile installation dir vars 2014-03-31 16:11:13 -07:00
user-systemd.m4 autoconf: use include directives instead of recursing down etc 2022-05-10 10:19:58 -07:00
user-sysvinit.m4 autoconf: use include directives instead of recursing down etc 2022-05-10 10:19:58 -07:00
user-udev.m4 Autoconf 2.70 compatibility 2021-01-02 16:55:55 -08:00
user-zlib.m4 Fix up FIND_SYSTEM_LIBRARY to work with cross-compiling 2020-07-10 14:26:40 -07:00
user.m4 Fallback to strerror() when strerror_l() isn't available 2024-10-12 13:48:56 -07:00
zfs-build.m4 Add building support for Artix Linux (#16265) 2024-07-15 16:58:00 -07:00
zfs-meta.m4 Remove basename(1). Clean up/shorten some coreutils pipelines 2021-11-11 13:27:37 -07:00