mirror of
https://git.proxmox.com/git/mirror_zfs.git
synced 2024-11-17 01:51:00 +03:00
autoconf: Fail when __copy_from_user_inatomic is a non-GPL symbol
A followup to 849c14e048
Fix https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009242
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: szubersk <szuberskidamian@gmail.com>
Closes #13389
This commit is contained in:
parent
f567d67fda
commit
e0911f7b7f
@ -18,9 +18,12 @@ AC_DEFUN([ZFS_AC_KERNEL___COPY_FROM_USER_INATOMIC], [
|
||||
AC_MSG_CHECKING([whether __copy_from_user_inatomic is available])
|
||||
ZFS_LINUX_TEST_RESULT([__copy_from_user_inatomic_license], [
|
||||
AC_MSG_RESULT(yes)
|
||||
AC_DEFINE(HAVE___COPY_FROM_USER_INATOMIC, 1,
|
||||
[__copy_from_user_inatomic is available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
AC_MSG_ERROR([
|
||||
*** The `__copy_from_user_inatomic()` Linux kernel function is
|
||||
*** incompatible with the CDDL license and will prevent the module
|
||||
*** linking stage from succeeding. OpenZFS cannot be compiled.
|
||||
])
|
||||
])
|
||||
])
|
||||
|
@ -75,7 +75,6 @@ zfs_uiomove_iov(void *p, size_t n, zfs_uio_rw_t rw, zfs_uio_t *uio)
|
||||
} else {
|
||||
unsigned long b_left = 0;
|
||||
if (uio->uio_fault_disable) {
|
||||
#if defined(HAVE___COPY_FROM_USER_INATOMIC)
|
||||
if (!zfs_access_ok(VERIFY_READ,
|
||||
(iov->iov_base + skip), cnt)) {
|
||||
return (EFAULT);
|
||||
@ -85,9 +84,6 @@ zfs_uiomove_iov(void *p, size_t n, zfs_uio_rw_t rw, zfs_uio_t *uio)
|
||||
__copy_from_user_inatomic(p,
|
||||
(iov->iov_base + skip), cnt);
|
||||
pagefault_enable();
|
||||
#else
|
||||
return (EFAULT);
|
||||
#endif
|
||||
} else {
|
||||
b_left =
|
||||
copy_from_user(p,
|
||||
|
Loading…
Reference in New Issue
Block a user