aboutsummarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorDāvis2015-10-09 23:45:00 +0300
committerDāvis2015-10-10 00:15:56 +0300
commit1c4685359c668078eeb749533a42ee8b363e430d (patch)
tree2a80217117a99556b708829ef59981e61b84a37c
parent020d76d72ea1ee660460ce651385cc0d4a14a333 (diff)
downloadaur-1c4685359c668078eeb749533a42ee8b363e430d.tar.gz
Add patch for 4.2
-rw-r--r--.SRCINFO2
-rw-r--r--0006-vmhgfs-support-linux-4.2.x-kernel.patch93
-rw-r--r--PKGBUILD6
3 files changed, 100 insertions, 1 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0853161366b0..676b876473d1 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -18,11 +18,13 @@ pkgbase = open-vm-tools-dkms
source = 0001-Fix-vmxnet-module-on-kernels-3.16.patch
source = 0004-Support-backing-dev-info-kernel-4.0.patch
source = 0005-Remove-new_sync-for-Linux-4.1.patch
+ source = 0006-vmhgfs-support-linux-4.2.x-kernel.patch
source = dkms.conf.in
sha256sums = 5adef80f43186aff426f4f22b4b31b514d18a1dcc3334d56ed22d2e308803971
sha256sums = 6684cf4cd9a492b82b24dff076fbbafef19e59ef969f532ee3da1501136a7c48
sha256sums = dac377beb660dc6c143356255346b34db0986511dcb74f051e06f243a0078af8
sha256sums = 38e2ae573a849251abde79c82b694d76f32cc75c9ff60878ebcb23f2f8c86928
+ sha256sums = d8191b23b9d5689b321bd0cf20b71a4039fde454d08644de6dc3a6521d574fd0
sha256sums = 5255a183cccd80b2bfbbf519b1cc8cec81ae40bbc0b5a88dfddd95532ece84ed
pkgname = open-vm-tools-dkms
diff --git a/0006-vmhgfs-support-linux-4.2.x-kernel.patch b/0006-vmhgfs-support-linux-4.2.x-kernel.patch
new file mode 100644
index 000000000000..4fa315cb5572
--- /dev/null
+++ b/0006-vmhgfs-support-linux-4.2.x-kernel.patch
@@ -0,0 +1,93 @@
+From b3a634a491da35d47a5e6e6120a21cba514fc3ec Mon Sep 17 00:00:00 2001
+From: JackM
+Date: Wed, 30 Sep 2015 23:16:40 +0300
+Subject: [PATCH] vmhgfs support linux 4.2.x kernel
+
+---
+ modules/linux/vmhgfs/link.c | 30 +++++++++++++++++++++++++-----
+ 1 file changed, 25 insertions(+), 5 deletions(-)
+
+diff --git a/open-vm-tools/modules/linux/vmhgfs/link.c b/open-vm-tools/modules/linux/vmhgfs/link.c
+index 06f693b..72e97ff 100644
+--- a/open-vm-tools/modules/linux/vmhgfs/link.c
++++ b/open-vm-tools/modules/linux/vmhgfs/link.c
+@@ -35,7 +35,9 @@
+ #include "vm_assert.h"
+
+ /* HGFS symlink operations. */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static void *HgfsFollowlink(struct dentry *dentry, void **cookie, struct nameidata *nd);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *HgfsFollowlink(struct dentry *dentry,
+ struct nameidata *nd);
+ #else
+@@ -45,7 +47,10 @@ static int HgfsFollowlink(struct dentry *dentry,
+ static int HgfsReadlink(struct dentry *dentry,
+ char __user *buffer,
+ int buflen);
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static void HgfsPutlink(struct dentry *dentry,
++ void *cookie);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void HgfsPutlink(struct dentry *dentry,
+ struct nameidata *nd,
+ void *cookie);
+@@ -85,7 +90,9 @@ struct inode_operations HgfsLinkInodeOperations = {
+ *----------------------------------------------------------------------
+ */
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static void *HgfsFollowlink(struct dentry *dentry, void **cookie, struct nameidata *nd)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *
+ HgfsFollowlink(struct dentry *dentry, // IN: Dentry containing link
+ struct nameidata *nd) // OUT: Contains target dentry
+@@ -124,7 +131,11 @@ HgfsFollowlink(struct dentry *dentry, // IN: Dentry containing link
+ } else {
+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: calling nd_set_link %s\n",
+ __func__, fileName));
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++ *cookie = fileName;
++#else
+ nd_set_link(nd, fileName);
++#endif
+ }
+ }
+ out:
+@@ -219,7 +230,10 @@ HgfsReadlink(struct dentry *dentry, // IN: Dentry containing link
+ *----------------------------------------------------------------------
+ */
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static void HgfsPutlink(struct dentry *dentry,
++ void *cookie)
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void
+ HgfsPutlink(struct dentry *dentry, // dentry
+ struct nameidata *nd, // lookup name information
+@@ -235,11 +249,17 @@ HgfsPutlink(struct dentry *dentry, // dentry
+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: put for %s\n",
+ __func__, dentry->d_name.name));
+
+- fileName = nd_get_link(nd);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++ fileName = cookie;
++#else
++ fileName = nd_get_link(nd);
++#endif
+ if (!IS_ERR(fileName)) {
+ LOG(6, (KERN_DEBUG "VMware hgfs: %s: putting %s\n",
+ __func__, fileName));
+ kfree(fileName);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
+ nd_set_link(nd, NULL);
++#endif
+ }
+ }
+--
+2.5.0.windows.1
+
diff --git a/PKGBUILD b/PKGBUILD
index 553508483cf0..4077cd2e089c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@ pkgname=open-vm-tools-dkms
epoch=6
pkgver=10.0.0
_pkgsubver=3000743
-pkgrel=3
+pkgrel=4
pkgdesc='Open Virtual Machine Tools kernel modules (DKMS)'
arch=('i686' 'x86_64')
url='http://open-vm-tools.sourceforge.net/'
@@ -27,17 +27,20 @@ source=(http://downloads.sourceforge.net/${_name}/${_full_name}.tar.gz
0001-Fix-vmxnet-module-on-kernels-3.16.patch
0004-Support-backing-dev-info-kernel-4.0.patch
0005-Remove-new_sync-for-Linux-4.1.patch
+ 0006-vmhgfs-support-linux-4.2.x-kernel.patch
dkms.conf.in)
sha256sums=('5adef80f43186aff426f4f22b4b31b514d18a1dcc3334d56ed22d2e308803971'
'6684cf4cd9a492b82b24dff076fbbafef19e59ef969f532ee3da1501136a7c48'
'dac377beb660dc6c143356255346b34db0986511dcb74f051e06f243a0078af8'
'38e2ae573a849251abde79c82b694d76f32cc75c9ff60878ebcb23f2f8c86928'
+ 'd8191b23b9d5689b321bd0cf20b71a4039fde454d08644de6dc3a6521d574fd0'
'5255a183cccd80b2bfbbf519b1cc8cec81ae40bbc0b5a88dfddd95532ece84ed')
prepare() {
patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0001-Fix-vmxnet-module-on-kernels-3.16.patch"
patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0004-Support-backing-dev-info-kernel-4.0.patch"
patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0005-Remove-new_sync-for-Linux-4.1.patch"
+ patch -d "$srcdir/${_full_name}" -Np2 -i "$srcdir/0006-vmhgfs-support-linux-4.2.x-kernel.patch"
}
package() {
@@ -49,3 +52,4 @@ package() {
rm -rf "${pkgdir}/usr/src/${_name}-${pkgver}/${_module}"
done
}
+