diff options
author | Michael Lass | 2017-11-13 20:26:12 +0100 |
---|---|---|
committer | Michael Lass | 2017-11-13 20:28:40 +0100 |
commit | 822cb8f5752b0d98fe5ac1a9f83260877139facf (patch) | |
tree | 4c19bdecd571336f37c95ddd414bb15b34a6d195 /0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch | |
parent | 34963e563a7c7a6f87ffac625e851828f57e9965 (diff) | |
download | aur-822cb8f5752b0d98fe5ac1a9f83260877139facf.tar.gz |
Add patches for Linux 4.14
Diffstat (limited to '0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch')
-rw-r--r-- | 0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch b/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch new file mode 100644 index 000000000000..e5d0d16992a4 --- /dev/null +++ b/0002-Linux-Test-for-__vfs_write-rather-than-__vfs_read.patch @@ -0,0 +1,99 @@ +From e5a30e15337cf008d253ae3368d6421ab27e8f2d Mon Sep 17 00:00:00 2001 +From: Damien Diederen <ddiederen@sinenomine.net> +Date: Mon, 18 Sep 2017 11:59:40 +0200 +Subject: [PATCH 2/3] Linux: Test for __vfs_write rather than __vfs_read + +The following commit: + + commit eb031849d52e61d24ba54e9d27553189ff328174 + Author: Christoph Hellwig <hch@lst.de> + Date: Fri Sep 1 17:39:23 2017 +0200 + + fs: unexport __vfs_read/__vfs_write + +unexports both __vfs_read and __vfs_write, but keeps the former in +fs.h--as it is is still being used by another part of the tree. + +This situation results in a false positive in our Autoconf check, +which does not see the export statements, and ends up marking the +corresponding API as available. + +That, in turn, causes some code which assumes symmetry with +__vfs_write to fail to compile. + +Switch to testing for __vfs_write, which correctly marks the API as +unavailable. + +Reviewed-on: https://gerrit.openafs.org/12728 +Tested-by: BuildBot <buildbot@rampaginggeek.com> +Reviewed-by: Benjamin Kaduk <kaduk@mit.edu> +(cherry picked from commit 929e77a886fc9853ee292ba1aa52a920c454e94b) + +Reviewed-on: https://gerrit.openafs.org/12736 +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> +(cherry picked from commit c42a25d28fbcc76fdcac2b5f29704f8f1b353b45) + +Change-Id: I27c1c67bed6ebb922389ebb70cbb7fc238378b58 +--- + acinclude.m4 | 4 ++-- + src/afs/LINUX/osi_compat.h | 4 ++-- + src/afs/LINUX/osi_vnodeops.c | 2 +- + 3 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/acinclude.m4 b/acinclude.m4 +index d80cacd78..8353ca597 100644 +--- a/acinclude.m4 ++++ b/acinclude.m4 +@@ -939,9 +939,9 @@ case $AFS_SYSNAME in *_linux* | *_umlinux*) + + dnl Function existence checks + +- AC_CHECK_LINUX_FUNC([__vfs_read], ++ AC_CHECK_LINUX_FUNC([__vfs_write], + [#include <linux/fs.h>], +- [__vfs_read(NULL, NULL, 0, NULL);]) ++ [__vfs_write(NULL, NULL, 0, NULL);]) + AC_CHECK_LINUX_FUNC([bdi_init], + [#include <linux/backing-dev.h>], + [bdi_init(NULL);]) +diff --git a/src/afs/LINUX/osi_compat.h b/src/afs/LINUX/osi_compat.h +index 8e72161bf..9ebe9c178 100644 +--- a/src/afs/LINUX/osi_compat.h ++++ b/src/afs/LINUX/osi_compat.h +@@ -595,7 +595,7 @@ afs_d_invalidate(struct dentry *dp) + static inline int + afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos) + { +-#if defined(HAVE_LINUX___VFS_READ) ++#if defined(HAVE_LINUX___VFS_WRITE) + return __vfs_read(filp, buf, len, pos); + #else + return filp->f_op->read(filp, buf, len, pos); +@@ -605,7 +605,7 @@ afs_file_read(struct file *filp, char __user *buf, size_t len, loff_t *pos) + static inline int + afs_file_write(struct file *filp, char __user *buf, size_t len, loff_t *pos) + { +-#if defined(HAVE_LINUX___VFS_READ) ++#if defined(HAVE_LINUX___VFS_WRITE) + return __vfs_write(filp, buf, len, pos); + #else + return filp->f_op->write(filp, buf, len, pos); +diff --git a/src/afs/LINUX/osi_vnodeops.c b/src/afs/LINUX/osi_vnodeops.c +index f46d8dda8..3d9d71791 100644 +--- a/src/afs/LINUX/osi_vnodeops.c ++++ b/src/afs/LINUX/osi_vnodeops.c +@@ -807,7 +807,7 @@ struct file_operations afs_file_fops = { + #ifdef STRUCT_FILE_OPERATIONS_HAS_READ_ITER + .read_iter = afs_linux_read_iter, + .write_iter = afs_linux_write_iter, +-# if !defined(HAVE_LINUX___VFS_READ) ++# if !defined(HAVE_LINUX___VFS_WRITE) + .read = new_sync_read, + .write = new_sync_write, + # endif +-- +2.15.0 + |