1*716fd348SMartin Matuskadnl # 2*716fd348SMartin Matuskadnl # On certain architectures `__copy_from_user_inatomic` 3*716fd348SMartin Matuskadnl # is a GPL exported variable and cannot be used by OpenZFS. 4*716fd348SMartin Matuskadnl # 5*716fd348SMartin Matuska 6*716fd348SMartin Matuskadnl # 7*716fd348SMartin Matuskadnl # Checking if `__copy_from_user_inatomic` is available. 8*716fd348SMartin Matuskadnl # 9*716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL_SRC___COPY_FROM_USER_INATOMIC], [ 10*716fd348SMartin Matuska ZFS_LINUX_TEST_SRC([__copy_from_user_inatomic], [ 11*716fd348SMartin Matuska #include <linux/uaccess.h> 12*716fd348SMartin Matuska ], [ 13*716fd348SMartin Matuska int result __attribute__ ((unused)) = __copy_from_user_inatomic(NULL, NULL, 0); 14*716fd348SMartin Matuska ], [], [ZFS_META_LICENSE]) 15*716fd348SMartin Matuska]) 16*716fd348SMartin Matuska 17*716fd348SMartin MatuskaAC_DEFUN([ZFS_AC_KERNEL___COPY_FROM_USER_INATOMIC], [ 18*716fd348SMartin Matuska AC_MSG_CHECKING([whether __copy_from_user_inatomic is available]) 19*716fd348SMartin Matuska ZFS_LINUX_TEST_RESULT([__copy_from_user_inatomic_license], [ 20*716fd348SMartin Matuska AC_MSG_RESULT(yes) 21*716fd348SMartin Matuska ], [ 22*716fd348SMartin Matuska AC_MSG_RESULT(no) 23*716fd348SMartin Matuska AC_MSG_ERROR([ 24*716fd348SMartin Matuska *** The `__copy_from_user_inatomic()` Linux kernel function is 25*716fd348SMartin Matuska *** incompatible with the CDDL license and will prevent the module 26*716fd348SMartin Matuska *** linking stage from succeeding. OpenZFS cannot be compiled. 27*716fd348SMartin Matuska ]) 28*716fd348SMartin Matuska ]) 29*716fd348SMartin Matuska]) 30