From 9de2393a47bb7cf3ca95a75efd407e4185e505e9 Mon Sep 17 00:00:00 2001 From: Benjamin Kaduk Date: Thu, 14 Dec 2017 20:58:16 -0600 Subject: [PATCH] Pull in upstream patch for an OOPS on linux 4.14 kernels An incorrect preprocessor macro name was used to check the result of a configure check. Change-Id: I4b7e8c27028ece726f2fa921757996d061b54767 --- debian/changelog | 7 +++ ...-to-check-kernel_read-argument-order.patch | 43 +++++++++++++++++++ debian/patches/series | 1 + 3 files changed, 51 insertions(+) create mode 100644 debian/patches/0006-Fix-macro-used-to-check-kernel_read-argument-order.patch diff --git a/debian/changelog b/debian/changelog index b174db14d..2b3989110 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,10 @@ +openafs (1.6.22-3) UNRELEASED; urgency=medium + + * Pull in upstream patch to avoid OOPS on linux 4.14 kernels. + (Closes: #884420) + + -- Benjamin Kaduk Thu, 14 Dec 2017 20:57:22 -0600 + openafs (1.6.22-2) unstable; urgency=medium * Update Russian debconf translation; thanks Lev Lamberov. diff --git a/debian/patches/0006-Fix-macro-used-to-check-kernel_read-argument-order.patch b/debian/patches/0006-Fix-macro-used-to-check-kernel_read-argument-order.patch new file mode 100644 index 000000000..e045c3795 --- /dev/null +++ b/debian/patches/0006-Fix-macro-used-to-check-kernel_read-argument-order.patch @@ -0,0 +1,43 @@ +From: Benjamin Kaduk +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 +Tested-by: BuildBot +Reviewed-by: Benjamin Kaduk +(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); diff --git a/debian/patches/series b/debian/patches/series index 856cd32d7..ea9a5b735 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,3 +3,4 @@ AFS_component_version_number.c-Respect-SOURCE_DATE_E.patch 0003-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch 0004-Linux-Use-kernel_read-kernel_write-when-__vfs-varian.patch 0005-afs-fix-kernel_write-kernel_read-arguments.patch +0006-Fix-macro-used-to-check-kernel_read-argument-order.patch -- 2.39.5