From: Seth Forshee Date: Tue, 22 Aug 2017 12:59:11 +0000 (-0500) Subject: Linux: Include linux/uaccess.h rather than asm/uaccess.h if present X-Git-Tag: openafs-devel-1_9_0~675 X-Git-Url: https://git.openafs.org/?p=openafs.git;a=commitdiff_plain;h=962f4838dc461567d896304f617a0923745d13d5 Linux: Include linux/uaccess.h rather than asm/uaccess.h if present Starting with Linux 4.12 there is a module build error on s390 due to asm/uaccess.h using a macro defined in the common header. The common header has been around since 2.6.18 and has always included asm/uaccess.h, so switch to using the common header whenever it is present. Change-Id: Iaab0d7652483a2a2b1f144f3e90b6d3b902c146d Signed-off-by: Seth Forshee Reviewed-on: https://gerrit.openafs.org/12714 Reviewed-by: Benjamin Kaduk Tested-by: BuildBot --- diff --git a/acinclude.m4 b/acinclude.m4 index 38e6161..0d28d44 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -939,6 +939,7 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) AC_CHECK_LINUX_HEADER([semaphore.h]) AC_CHECK_LINUX_HEADER([seq_file.h]) AC_CHECK_LINUX_HEADER([sched/signal.h]) + AC_CHECK_LINUX_HEADER([uaccess.h]) dnl Type existence checks AC_CHECK_LINUX_TYPE([struct vfs_path], [dcache.h]) diff --git a/src/afs/LINUX/osi_machdep.h b/src/afs/LINUX/osi_machdep.h index 9008f77..ce8cabf 100644 --- a/src/afs/LINUX/osi_machdep.h +++ b/src/afs/LINUX/osi_machdep.h @@ -123,7 +123,11 @@ wakeup(void *event) #define IsAfsVnode(V) ((V)->i_sb == afs_globalVFS) /* test superblock instead */ #define SetAfsVnode(V) /* unnecessary */ +#if defined(HAVE_LINUX_UACCESS_H) +#include +#else #include +#endif #define copyin(F, T, C) (copy_from_user ((char*)(T), (char*)(F), (C)) > 0 ? EFAULT : 0) static inline long copyinstr(char *from, char *to, int count, int *length) { diff --git a/src/afs/sysincludes.h b/src/afs/sysincludes.h index d0e58a7..629b3e6 100644 --- a/src/afs/sysincludes.h +++ b/src/afs/sysincludes.h @@ -145,7 +145,11 @@ struct coda_inode_info { struct xfs_inode_info { }; # endif -# include +# if defined(HAVE_LINUX_UACCESS_H) +# include +# else +# include +# endif # include # include # include diff --git a/src/rx/LINUX/rx_knet.c b/src/rx/LINUX/rx_knet.c index 3398b2d..dea64fb 100644 --- a/src/rx/LINUX/rx_knet.c +++ b/src/rx/LINUX/rx_knet.c @@ -25,7 +25,11 @@ #include "rx_peer.h" #include "rx_packet.h" #include "rx_internal.h" +#if defined(HAVE_LINUX_UACCESS_H) +#include +#else #include +#endif #ifdef AFS_RXERRQ_ENV #include #include