--- /dev/null
+From: Benjamin Kaduk <kaduk@mit.edu>
+Date: Thu, 14 Dec 2017 19:54:57 -0600
+Subject: Fix macro used to check kernel_read() argument order
+
+The m4 macro implementing the configure check is called
+LINUX_KERNEL_READ_OFFSET_IS_LAST, but it defines a preprocessor symbol
+that is just KERNEL_READ_OFFSET_IS_LAST. Our code needs to check
+for the latter being defined, not the former.
+
+Reported by Aaron Ucko.
+
+Change-Id: Id7cd3245b6a8eb05f83c03faee9c15bab8d0f6e8
+Reviewed-on: https://gerrit.openafs.org/12808
+Reviewed-by: Anders Kaseorg <andersk@mit.edu>
+Tested-by: BuildBot <buildbot@rampaginggeek.com>
+Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
+(cherry picked from commit edc5463f3db4b6af2307741d9f4ee8f2c81cd98e)
+---
+ src/afs/LINUX/osi_compat.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h
+index 78be496..17a61cf 100644
+--- a/src/afs/LINUX/osi_compat.h
++++ b/src/afs/LINUX/osi_compat.h
+@@ -606,7 +606,7 @@ afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos)
+ #if defined(HAVE_LINUX___VFS_WRITE)
+ return __vfs_read(filp, buf, len, pos);
+ #elif defined(HAVE_LINUX_KERNEL_WRITE)
+-# if defined(LINUX_KERNEL_READ_OFFSET_IS_LAST)
++# if defined(KERNEL_READ_OFFSET_IS_LAST)
+ return kernel_read(filp, buf, len, pos);
+ # else
+ return kernel_read(filp, *pos, buf, len);
+@@ -622,7 +622,7 @@ afs_file_write(struct file *filp, char __user *buf, size_t len, loff_t *pos)
+ #if defined(HAVE_LINUX___VFS_WRITE)
+ return __vfs_write(filp, buf, len, pos);
+ #elif defined(HAVE_LINUX_KERNEL_WRITE)
+-# if defined(LINUX_KERNEL_READ_OFFSET_IS_LAST)
++# if defined(KERNEL_READ_OFFSET_IS_LAST)
+ return kernel_write(filp, buf, len, pos);
+ # else
+ return kernel_write(filp, buf, len, *pos);