diff options
Diffstat (limited to 'testing/spl-grsec/linux-3.13.patch')
-rw-r--r-- | testing/spl-grsec/linux-3.13.patch | 232 |
1 files changed, 0 insertions, 232 deletions
diff --git a/testing/spl-grsec/linux-3.13.patch b/testing/spl-grsec/linux-3.13.patch deleted file mode 100644 index 483d559d3..000000000 --- a/testing/spl-grsec/linux-3.13.patch +++ /dev/null @@ -1,232 +0,0 @@ -From 50a0749eba31e821a7edf286f1e3b149f7d13c59 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@gentoo.org> -Date: Mon, 25 Nov 2013 11:22:33 -0500 -Subject: [PATCH] Linux 3.13 compat: Pass NULL for new delegated inode argument - -This check was originally added for SLES10, a093c6a, to check for -a 'struct vfsmount *' argument which they added. However, since -SLES10 is based on a 2.6.16 kernel which is no longer supported -this functionality was dropped. The checks were refactored to -support Linux 3.13 without concern for historical versions. - -Signed-off-by: Richard Yao <ryao@gentoo.org> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #312 ---- - config/spl-build.m4 | 52 ++++++++++++++++++++++++++++++++++++++++---------- - module/spl/spl-vnode.c | 22 ++++++++++++--------- - 2 files changed, 55 insertions(+), 19 deletions(-) - -diff --git a/config/spl-build.m4 b/config/spl-build.m4 -index 7d744db..8426780 100644 ---- a/config/spl-build.m4 -+++ b/config/spl-build.m4 -@@ -1842,41 +1842,73 @@ AC_DEFUN([SPL_AC_SET_FS_PWD_WITH_CONST], - EXTRA_KCFLAGS="$tmp_flags" - ]) - --dnl # --dnl # SLES API change, never adopted in mainline, --dnl # Third 'struct vfsmount *' argument removed. --dnl # - AC_DEFUN([SPL_AC_2ARGS_VFS_UNLINK], - [AC_MSG_CHECKING([whether vfs_unlink() wants 2 args]) - SPL_LINUX_TRY_COMPILE([ - #include <linux/fs.h> - ],[ -- vfs_unlink(NULL, NULL); -+ vfs_unlink((struct inode *) NULL, (struct dentry *) NULL); - ],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_2ARGS_VFS_UNLINK, 1, - [vfs_unlink() wants 2 args]) - ],[ - AC_MSG_RESULT(no) -+ dnl # -+ dnl # Linux 3.13 API change -+ dnl # Added delegated inode -+ dnl # -+ AC_MSG_CHECKING([whether vfs_unlink() wants 3 args]) -+ SPL_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ vfs_unlink((struct inode *) NULL, -+ (struct dentry *) NULL, -+ (struct inode **) NULL); -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_3ARGS_VFS_UNLINK, 1, -+ [vfs_unlink() wants 3 args]) -+ ],[ -+ AC_MSG_ERROR(no) -+ ]) -+ - ]) - ]) - --dnl # --dnl # SLES API change, never adopted in mainline, --dnl # Third and sixth 'struct vfsmount *' argument removed. --dnl # - AC_DEFUN([SPL_AC_4ARGS_VFS_RENAME], - [AC_MSG_CHECKING([whether vfs_rename() wants 4 args]) - SPL_LINUX_TRY_COMPILE([ - #include <linux/fs.h> - ],[ -- vfs_rename(NULL, NULL, NULL, NULL); -+ vfs_rename((struct inode *) NULL, (struct dentry *) NULL, -+ (struct inode *) NULL, (struct dentry *) NULL); - ],[ - AC_MSG_RESULT(yes) - AC_DEFINE(HAVE_4ARGS_VFS_RENAME, 1, - [vfs_rename() wants 4 args]) - ],[ - AC_MSG_RESULT(no) -+ dnl # -+ dnl # Linux 3.13 API change -+ dnl # Added delegated inode -+ dnl # -+ AC_MSG_CHECKING([whether vfs_rename() wants 5 args]) -+ SPL_LINUX_TRY_COMPILE([ -+ #include <linux/fs.h> -+ ],[ -+ vfs_rename((struct inode *) NULL, -+ (struct dentry *) NULL, -+ (struct inode *) NULL, -+ (struct dentry *) NULL, -+ (struct inode **) NULL); -+ ],[ -+ AC_MSG_RESULT(yes) -+ AC_DEFINE(HAVE_5ARGS_VFS_RENAME, 1, -+ [vfs_rename() wants 5 args]) -+ ],[ -+ AC_MSG_ERROR(no) -+ ]) - ]) - ]) - -diff --git a/module/spl/spl-vnode.c b/module/spl/spl-vnode.c -index 0784ff2..5496067 100644 ---- a/module/spl/spl-vnode.c -+++ b/module/spl/spl-vnode.c -@@ -334,7 +334,11 @@ vn_remove(const char *path, uio_seg_t seg, int flags) - if (inode) - ihold(inode); - -+#ifdef HAVE_2ARGS_VFS_UNLINK - rc = vfs_unlink(parent.dentry->d_inode, dentry); -+#else -+ rc = vfs_unlink(parent.dentry->d_inode, dentry, NULL); -+#endif /* HAVE_2ARGS_VFS_UNLINK */ - exit1: - dput(dentry); - } else { -@@ -412,10 +416,10 @@ vn_rename(const char *oldname, const char *newname, int x1) - - #ifdef HAVE_4ARGS_VFS_RENAME - rc = vfs_rename(old_dir->d_inode, old_dentry, -- new_dir->d_inode, new_dentry); -+ new_dir->d_inode, new_dentry); - #else -- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, -- new_dir->d_inode, new_dentry, newnd.nd_mnt); -+ rc = vfs_rename(old_dir->d_inode, old_dentry, -+ new_dir->d_inode, new_dentry, NULL); - #endif /* HAVE_4ARGS_VFS_RENAME */ - exit4: - unlock_rename(new_dir, old_dir); -@@ -478,9 +482,9 @@ vn_remove(const char *path, uio_seg_t seg, int flags) - if (inode) - atomic_inc(&inode->i_count); - #ifdef HAVE_2ARGS_VFS_UNLINK -- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); -+ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry); - #else -- rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, nd.nd_mnt); -+ rc = vfs_unlink(nd.nd_dentry->d_inode, dentry, NULL); - #endif /* HAVE_2ARGS_VFS_UNLINK */ - exit2: - dput(dentry); -@@ -571,11 +575,11 @@ vn_rename(const char *oldname, const char *newname, int x1) - SGOTO(exit5, rc); - - #ifdef HAVE_4ARGS_VFS_RENAME -- rc = vfs_rename(old_dir->d_inode, old_dentry, -- new_dir->d_inode, new_dentry); -+ rc = vfs_rename(old_dir->d_inode, old_dentry, -+ new_dir->d_inode, new_dentry); - #else -- rc = vfs_rename(old_dir->d_inode, old_dentry, oldnd.nd_mnt, -- new_dir->d_inode, new_dentry, newnd.nd_mnt); -+ rc = vfs_rename(old_dir->d_inode, old_dentry, -+ new_dir->d_inode, new_dentry, NULL); - #endif /* HAVE_4ARGS_VFS_RENAME */ - exit5: - dput(new_dentry); --- -1.9.3 - - - - -From 3e96de17d723d6f6c9e2fd04b059b50d4e0bbef0 Mon Sep 17 00:00:00 2001 -From: Richard Yao <ryao@gentoo.org> -Date: Thu, 8 Aug 2013 04:30:55 -0400 -Subject: [PATCH] Linux 3.13 compat: Remove unused flags variable from - __cv_init() -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GCC 4.8.1 complained about an unused flags variable when building -against Linux 2.6.26.8: - -/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c: -In function ‘__cv_init’: -/var/tmp/portage/sys-kernel/spl-9999/work/spl-9999/module/spl/../../module/spl/spl-condvar.c:39:6: -error: variable ‘flags’ set but not used -[-Werror=unused-but-set-variable] - int flags = KM_SLEEP; - ^ - cc1: all warnings being treated as errors - -Additionally, the superfluous code uses a preempt_count variable that is -no longer available on Linux 3.13. Deleting the unnecessary code fixes a -Linux 3.13 compatibility issue. - -Signed-off-by: Richard Yao <ryao@gentoo.org> -Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov> -Closes #312 ---- - module/spl/spl-condvar.c | 8 -------- - 1 file changed, 8 deletions(-) - -diff --git a/module/spl/spl-condvar.c b/module/spl/spl-condvar.c -index 283648a..8236412 100644 ---- a/module/spl/spl-condvar.c -+++ b/module/spl/spl-condvar.c -@@ -36,8 +36,6 @@ - void - __cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void *arg) - { -- int flags = KM_SLEEP; -- - SENTRY; - ASSERT(cvp); - ASSERT(name == NULL); -@@ -51,12 +49,6 @@ __cv_init(kcondvar_t *cvp, char *name, kcv_type_t type, void *arg) - atomic_set(&cvp->cv_refs, 1); - cvp->cv_mutex = NULL; - -- /* We may be called when there is a non-zero preempt_count or -- * interrupts are disabled is which case we must not sleep. -- */ -- if (current_thread_info()->preempt_count || irqs_disabled()) -- flags = KM_NOSLEEP; -- - SEXIT; - } - EXPORT_SYMBOL(__cv_init); --- -1.9.3 - |