]> git.michaelhowe.org Git - packages/o/openafs.git/commitdiff
Linux: Include linux/uaccess.h rather than asm/uaccess.h if present
authorSeth Forshee <seth.forshee@canonical.com>
Tue, 22 Aug 2017 12:59:11 +0000 (07:59 -0500)
committerBenjamin Kaduk <kaduk@mit.edu>
Wed, 30 Aug 2017 15:45:59 +0000 (11:45 -0400)
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.

Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
Reviewed-on: https://gerrit.openafs.org/12714
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
(cherry picked from commit 962f4838dc461567d896304f617a0923745d13d5)

Change-Id: I5a7834b982458159804bc4d940e39ef283253299
Reviewed-on: https://gerrit.openafs.org/12718
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Mark Vitale <mvitale@sinenomine.net>
Reviewed-by: Michael Meffie <mmeffie@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
acinclude.m4
src/afs/LINUX/osi_machdep.h
src/afs/sysincludes.h
src/rx/LINUX/rx_knet.c

index 38e6161a53d04d2ccee52bd68e1e98ee11bc9e4c..0d28d441563c15f52f0ac0142bdb77315ce7f92a 100644 (file)
@@ -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])
index 9008f7732e1219439278138b28aa84256c689782..ce8cabf6ee42d4ac724f52abe75c65df68a2b50f 100644 (file)
@@ -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 <linux/uaccess.h>
+#else
 #include <asm/uaccess.h>
+#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) {
index d0e58a706b48def0418c60c883d32162ecdee136..629b3e6f9a3850fe1c5279d3a8ea566783b0f8af 100644 (file)
@@ -145,7 +145,11 @@ struct coda_inode_info {
 struct xfs_inode_info {
 };
 # endif
-# include <asm/uaccess.h>
+# if defined(HAVE_LINUX_UACCESS_H)
+#  include <linux/uaccess.h>
+# else
+#  include <asm/uaccess.h>
+# endif
 # include <linux/list.h>
 # include <linux/dcache.h>
 # include <linux/mount.h>
index 3398b2d322f321754f586681b7bdcf4fe63e9a59..dea64fb38804113c57e165dbedbbeef20eab42a7 100644 (file)
 #include "rx_peer.h"
 #include "rx_packet.h"
 #include "rx_internal.h"
+#if defined(HAVE_LINUX_UACCESS_H)
+#include <linux/uaccess.h>
+#else
 #include <asm/uaccess.h>
+#endif
 #ifdef AFS_RXERRQ_ENV
 #include <linux/errqueue.h>
 #include <linux/icmp.h>