public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-10 13:55 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-10 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     5bf8b1f68790299292623fa59ecce2415a230ade
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Thu Oct  9 21:24:40 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Oct  9 21:24:40 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=5bf8b1f6

compiles with 3.14/3.15 moving onto 3.16...

---
 .../files/271-3.15-00-readlink.patch               | 12 ++++++
 .../vmware-modules/files/271-3.15-01-vsock.patch   | 43 ++++++++++++++++++++++
 .../vmware-modules/vmware-modules-271.3-r1.ebuild  |  7 ++--
 3 files changed, 58 insertions(+), 4 deletions(-)

diff --git a/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch
new file mode 100644
index 0000000..36be37f
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch
@@ -0,0 +1,12 @@
+diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
+--- vmblock-only/linux/inode.c	2014-10-05 23:20:14.545218357 -0400
++++ vmblock-only/linux/inode.c	2014-10-05 23:33:01.549259933 -0400
+@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
+       return -EINVAL;
+    }
+ 
+-   return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++   return readlink_copy(buffer, buflen, iinfo->name);
+ }
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
new file mode 100644
index 0000000..a880a75
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
@@ -0,0 +1,43 @@
+diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
+--- vsock-only/linux/notify.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notify.c	2014-10-05 23:46:47.943304728 -0400
+@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
+    vsk = vsock_sk(sk);
+    PKT_FIELD(vsk, sentWaitingRead) = FALSE;
+ #endif
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
+--- vsock-only/linux/notifyQState.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notifyQState.c	2014-10-05 23:46:33.231303931 -0400
+@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
+                      struct sockaddr_vm *dst,    // IN: unused
+                      struct sockaddr_vm *src)    // IN: unused
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
+       }
+ 
+       /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++      sk->sk_data_ready(sk);
++#else
+       sk->sk_data_ready(sk, 0);
++#endif
+    }
+ 
+    return err;

diff --git a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
index e922472..f1b1f2b 100644
--- a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
@@ -79,10 +79,9 @@ src_prepare() {
 	
 	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
 	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
-
-	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"
-
-
+	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"	
+	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
+	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-10 13:55 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-10 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     4d9b602206d7e267af066b17f437934479b36ac0
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Thu Oct  9 20:17:17 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Oct  9 20:17:17 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=4d9b6022

doing an initial commit which should patch and compile correctly for 3.10 kernels as a test run

---
 .../vmware-modules/files/271-3.10-00-userns.patch  |  37 +++++
 .../files/271-3.10-01-create_proc_entry.patch      |  24 +++
 .../vmware-modules/files/271-3.10-02-getname.patch |  19 +++
 .../files/271-3.10-03-deprecated.patch             |  90 +++++++++++
 app-emulation/vmware-modules/files/271-apic.patch  |  12 ++
 .../vmware-modules/files/271-hardened.patch        | 170 +++++++++++++++++++++
 .../files/271-makefile-include.patch               |  65 ++++++++
 .../files/271-makefile-kernel-dir.patch            |  85 +++++++++++
 .../vmware-modules/files/271-netdevice.patch       |  24 +++
 .../vmware-modules/files/271-putname.patch         |  13 ++
 app-emulation/vmware-modules/metadata.xml          |  13 ++
 .../vmware-modules/vmware-modules-271.3-r1.ebuild  |  87 +++++++++++
 12 files changed, 639 insertions(+)

diff --git a/app-emulation/vmware-modules/files/271-3.10-00-userns.patch b/app-emulation/vmware-modules/files/271-3.10-00-userns.patch
new file mode 100644
index 0000000..c960b78
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.10-00-userns.patch
@@ -0,0 +1,37 @@
+--- a/vmblock-only/linux/inode.c   2013-03-20 17:37:48.000000000 +0100
++++ b/vmblock-only/linux/inode.c   2013-03-20 17:41:22.000000000 +0100
+@@ -135,7 +135,8 @@
+    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
+    inode->i_version = 1;
+    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
+-   inode->i_uid = inode->i_gid = 0;
++   inode->i_uid = GLOBAL_ROOT_UID;
++   inode->i_gid = GLOBAL_ROOT_GID;
+    inode->i_op = &LinkInodeOps;
+ 
+    d_add(dentry, inode);
+
+--- a/vmci-only/linux/driver.c    2013-03-20 17:57:35.000000000 +0100
++++ b/vmci-only/linux/driver.c    2013-03-20 17:57:43.000000000 +0100
+@@ -740,7 +740,7 @@
+          goto init_release;
+       }
+ 
+-      user = current_uid();
++      user = from_kuid(current_user_ns(), current_uid());
+       retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
+                                        0 /* Unused */, vmciLinux->userVersion,
+                                        &user, &vmciLinux->context);
+
+--- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
++++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
+@@ -2866,7 +2866,7 @@
+       vsk->connectTimeout = psk->connectTimeout;
+    } else {
+       vsk->trusted = capable(CAP_NET_ADMIN);
+-      vsk->owner = current_uid();
++      vsk->owner = from_kuid(current_user_ns(), current_uid());
+       vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
+       vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
+       vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
+

diff --git a/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch b/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch
new file mode 100644
index 0000000..85c3def
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch
@@ -0,0 +1,24 @@
+--- a/vmblock-only/linux/control.c	2013-05-21 19:21:19.165750556 +0200
++++ b/vmblock-only/linux/control.c	2013-05-21 19:22:18.363747723 +0200
+@@ -208,9 +208,10 @@
+    VMBlockSetProcEntryOwner(controlProcMountpoint);
+ 
+    /* Create /proc/fs/vmblock/dev */
+-   controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
+-                                        VMBLOCK_CONTROL_MODE,
+-                                        controlProcDirEntry);
++   controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
++                                  VMBLOCK_CONTROL_MODE,
++                                  controlProcDirEntry,
++                                  &ControlFileOps);
+    if (!controlProcEntry) {
+       Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
+       remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
+@@ -218,7 +219,6 @@
+       return -EINVAL;
+    }
+ 
+-   controlProcEntry->proc_fops = &ControlFileOps;
+    return 0;
+ }
+ 

diff --git a/app-emulation/vmware-modules/files/271-3.10-02-getname.patch b/app-emulation/vmware-modules/files/271-3.10-02-getname.patch
new file mode 100644
index 0000000..7bcf536
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.10-02-getname.patch
@@ -0,0 +1,19 @@
+--- vmblock-only/linux/control.c	2014-03-15 15:28:40.871076076 +0100
++++ vmblock-only/linux/control.c.new	2014-03-15 15:29:15.079074439 +0100
+@@ -279,11 +279,17 @@
+    int i;
+    int retval;
+ 
+-   name = getname(buf);
++   name = __getname();
+    if (IS_ERR(name)) {
+       return PTR_ERR(name);
+    }
+ 
++   i = strncpy_from_user(name, buf, PATH_MAX);
++   if (i < 0 || i == PATH_MAX) {
++      __putname(name);
++      return -EINVAL;
++   }
++
+    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {

diff --git a/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch
new file mode 100644
index 0000000..862ef97
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch
@@ -0,0 +1,90 @@
+diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
+--- vmblock-only/shared/vm_assert.h	2013-11-05 23:33:27.000000000 -0500
++++ vmblock-only.new/shared/vm_assert.h	2014-10-07 18:13:59.583815971 -0400
+@@ -237,12 +237,12 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
+-   #define DEPRECATED(_fix) DO_ONCE(                                        \
++   #define VMWARE_DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
+-   #define DEPRECATED(_fix) do {} while (0)
++   #define VMWARE_DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+ 
+diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
+--- vmci-only/shared/vm_assert.h	2013-11-05 23:33:27.000000000 -0500
++++ vmci-only.new/shared/vm_assert.h	2014-10-07 18:14:18.470816995 -0400
+@@ -237,12 +237,12 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
+-   #define DEPRECATED(_fix) DO_ONCE(                                        \
++   #define VMWARE_DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
+-   #define DEPRECATED(_fix) do {} while (0)
++   #define VMWARE_DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+ 
+diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
+--- vmmon-only/include/vm_assert.h	2013-11-06 00:40:51.000000000 -0500
++++ vmmon-only.new/include/vm_assert.h	2014-10-07 18:14:12.118816650 -0400
+@@ -237,12 +237,12 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
+-   #define DEPRECATED(_fix) DO_ONCE(                                        \
++   #define VMWARE_DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
+-   #define DEPRECATED(_fix) do {} while (0)
++   #define VMWARE_DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+ 
+diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
+--- vmnet-only/vm_assert.h	2013-11-06 00:40:52.000000000 -0500
++++ vmnet-only.new/vm_assert.h	2014-10-07 18:14:05.167816273 -0400
+@@ -237,12 +237,12 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
+-   #define DEPRECATED(_fix) DO_ONCE(                                        \
++   #define VMWARE_DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
+-   #define DEPRECATED(_fix) do {} while (0)
++   #define VMWARE_DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+ 
+diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
+--- vsock-only/shared/vm_assert.h	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/shared/vm_assert.h	2014-10-07 18:14:24.454817319 -0400
+@@ -237,12 +237,12 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
+-   #define DEPRECATED(_fix) DO_ONCE(                                        \
++   #define VMWARE_DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
+-   #define DEPRECATED(_fix) do {} while (0)
++   #define VMWARE_DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/271-apic.patch b/app-emulation/vmware-modules/files/271-apic.patch
new file mode 100644
index 0000000..66cd459
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-apic.patch
@@ -0,0 +1,12 @@
+diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
+index f1f4b10..c43242f 100644
+--- a/vmmon-only/linux/hostif.c
++++ b/vmmon-only/linux/hostif.c
+@@ -55,6 +55,7 @@
+ #include <linux/kthread.h>
+ #include <linux/wait.h>
+ 
++#include <asm/apic.h>
+ 
+ #include "vmware.h"
+ #include "x86apic.h"

diff --git a/app-emulation/vmware-modules/files/271-hardened.patch b/app-emulation/vmware-modules/files/271-hardened.patch
new file mode 100644
index 0000000..ea1b0f3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-hardened.patch
@@ -0,0 +1,170 @@
+diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
+index 921f25c..41a39e3 100644
+--- a/vmci-only/linux/driver.c
++++ b/vmci-only/linux/driver.c
+@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
+ #define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0)
+ #endif
+ 
+-static struct file_operations vmuser_fops;
++/*
++ * Moved file operations initialize here because of incompatibilites
++ * with Gentoo hardened profile/hardend Linux 3.
++ */
++static struct file_operations vmuser_fops = {
++    .owner = THIS_MODULE,
++    .poll = LinuxDriverPoll,
++#ifdef HAVE_UNLOCKED_IOCTL
++    .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
++#else
++    .ioctl = LinuxDriver_Ioctl,
++#endif
++#ifdef HAVE_COMPAT_IOCTL
++    .compat_ioctl = LinuxDriver_UnlockedIoctl,
++#endif
++    .open = LinuxDriver_Open,
++    .release = LinuxDriver_Close
++};
+ 
+ 
+ /*
+@@ -378,26 +395,6 @@ vmci_host_init(void)
+       return -ENOMEM;
+    }
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vmuser_fops, 0, sizeof vmuser_fops);
+-   vmuser_fops.owner = THIS_MODULE;
+-   vmuser_fops.poll = LinuxDriverPoll;
+-#ifdef HAVE_UNLOCKED_IOCTL
+-   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
+-#else
+-   vmuser_fops.ioctl = LinuxDriver_Ioctl;
+-#endif
+-#ifdef HAVE_COMPAT_IOCTL
+-   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
+-#endif
+-   vmuser_fops.open = LinuxDriver_Open;
+-   vmuser_fops.release = LinuxDriver_Close;
+-
+    sprintf(linuxState.deviceName, "vmci");
+    linuxState.major = 10;
+    linuxState.misc.minor = MISC_DYNAMIC_MINOR;
+diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
+index b21dd44..960c2aa 100644
+--- a/vmmon-only/linux/driver.c
++++ b/vmmon-only/linux/driver.c
+@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
+ #endif
+ };
+ 
+-static struct file_operations vmuser_fops;
++static struct file_operations vmuser_fops = {
++   .owner = THIS_MODULE,
++   .poll = LinuxDriverPoll,
++#ifdef HAVE_UNLOCKED_IOCTL
++   .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
++#else
++   .ioctl = LinuxDriver_Ioctl,
++#endif
++#ifdef HAVE_COMPAT_IOCTL
++   .compat_ioctl = LinuxDriver_UnlockedIoctl,
++#endif
++   .open = LinuxDriver_Open,
++   .release = LinuxDriver_Close,
++   .mmap = LinuxDriverMmap
++};
++
+ static struct timer_list tscTimer;
+ 
+ /*
+@@ -357,27 +372,6 @@ init_module(void)
+    spin_lock_init(&linuxState.pollListLock);
+ #endif
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vmuser_fops, 0, sizeof vmuser_fops);
+-   vmuser_fops.owner = THIS_MODULE;
+-   vmuser_fops.poll = LinuxDriverPoll;
+-#ifdef HAVE_UNLOCKED_IOCTL
+-   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
+-#else
+-   vmuser_fops.ioctl = LinuxDriver_Ioctl;
+-#endif
+-#ifdef HAVE_COMPAT_IOCTL
+-   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
+-#endif
+-   vmuser_fops.open = LinuxDriver_Open;
+-   vmuser_fops.release = LinuxDriver_Close;
+-   vmuser_fops.mmap = LinuxDriverMmap;
+-
+ #ifdef VMX86_DEVEL
+    devel_init_module();
+    linuxState.minor = 0;
+diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
+index b12b982..40bd4cf 100644
+--- a/vmnet-only/driver.c
++++ b/vmnet-only/driver.c
+@@ -165,7 +165,22 @@ static long  VNetFileOpUnlockedIoctl(struct file * filp,
+                                      unsigned int iocmd, unsigned long ioarg);
+ #endif
+ 
+-static struct file_operations vnetFileOps;
++static struct file_operations vnetFileOps = {
++   .owner = THIS_MODULE,
++   .read = VNetFileOpRead,
++   .write = VNetFileOpWrite,
++   .poll = VNetFileOpPoll,
++#ifdef HAVE_UNLOCKED_IOCTL
++   .unlocked_ioctl = VNetFileOpUnlockedIoctl,
++#else
++   .ioctl = VNetFileOpIoctl,
++#endif
++#ifdef HAVE_COMPAT_IOCTL
++   .compat_ioctl = VNetFileOpUnlockedIoctl,
++#endif
++   .open = VNetFileOpOpen,
++   .release = VNetFileOpClose
++};
+ 
+ /*
+  * Utility functions
+@@ -476,28 +491,6 @@ init_module(void)
+       goto err_proto;
+    }
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vnetFileOps, 0, sizeof vnetFileOps);
+-   vnetFileOps.owner = THIS_MODULE;
+-   vnetFileOps.read = VNetFileOpRead;
+-   vnetFileOps.write = VNetFileOpWrite;
+-   vnetFileOps.poll = VNetFileOpPoll;
+-#ifdef HAVE_UNLOCKED_IOCTL
+-   vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
+-#else
+-   vnetFileOps.ioctl = VNetFileOpIoctl;
+-#endif
+-#ifdef HAVE_COMPAT_IOCTL
+-   vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
+-#endif
+-   vnetFileOps.open = VNetFileOpOpen;
+-   vnetFileOps.release = VNetFileOpClose;
+-
+    retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
+    if (retval) {
+       LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",

diff --git a/app-emulation/vmware-modules/files/271-makefile-include.patch b/app-emulation/vmware-modules/files/271-makefile-include.patch
new file mode 100644
index 0000000..39c3000
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-makefile-include.patch
@@ -0,0 +1,65 @@
+diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
+index ab7a727..e3ec9d2 100644
+--- a/vmblock-only/Makefile.kernel
++++ b/vmblock-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE += -I$(SRCROOT)/include
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c,   -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
+diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
+index ba343ee..861ea83 100644
+--- a/vmci-only/Makefile.kernel
++++ b/vmci-only/Makefile.kernel
+@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
+ 
+ INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ obj-m += $(DRIVER).o
+ 
+diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
+index 8770d1d..c4746c3 100644
+--- a/vmmon-only/Makefile.kernel
++++ b/vmmon-only/Makefile.kernel
+@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
+ INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
+ 	   -I$(SRCROOT)/vmcore
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
+ 
+diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
+index d1e3133..665d428 100644
+--- a/vmnet-only/Makefile.kernel
++++ b/vmnet-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE := -I$(SRCROOT)
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
+diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
+index b4629ee..264b8cb 100644
+--- a/vsock-only/Makefile.kernel
++++ b/vsock-only/Makefile.kernel
+@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
+ INCLUDE += -I$(SRCROOT)/linux
+ INCLUDE += -I$(SRCROOT)/common
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch
new file mode 100644
index 0000000..1a647a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch
@@ -0,0 +1,85 @@
+diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
+index 2b81323..746c8b8 100644
+--- a/vmblock-only/Makefile
++++ b/vmblock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmblock
+ PRODUCT := ws
+diff --git a/vmci-only/Makefile b/vmci-only/Makefile
+index 8e9c5be..6ec828b 100644
+--- a/vmci-only/Makefile
++++ b/vmci-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmci
+ PRODUCT := ws
+diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
+index 5bd867b..91a83d4 100644
+--- a/vmmon-only/Makefile
++++ b/vmmon-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmmon
+ PRODUCT := @@PRODUCT@@
+diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
+index d4eb73c..c7c6d38 100644
+--- a/vmnet-only/Makefile
++++ b/vmnet-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmnet
+ PRODUCT := @@PRODUCT@@
+diff --git a/vsock-only/Makefile b/vsock-only/Makefile
+index 93dd61d..9765696 100644
+--- a/vsock-only/Makefile
++++ b/vsock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vsock
+ PRODUCT := ws

diff --git a/app-emulation/vmware-modules/files/271-netdevice.patch b/app-emulation/vmware-modules/files/271-netdevice.patch
new file mode 100644
index 0000000..35231a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-netdevice.patch
@@ -0,0 +1,24 @@
+diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
+index 7a56304..9ff4548 100644
+--- a/vmnet-only/compat_netdevice.h
++++ b/vmnet-only/compat_netdevice.h
+@@ -47,6 +47,19 @@
+ #   define net_device device
+ #endif
+ 
++/* it looks like these have been removed from the kernel 3.1
++ * probably because the "transition" is considered complete.
++ * so to keep this source compatible we just redefine them like they were
++ * previously
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
++#define HAVE_ALLOC_NETDEV		/* feature macro: alloc_xxxdev
++					   functions are available. */
++#define HAVE_FREE_NETDEV		/* free_netdev() */
++#define HAVE_NETDEV_PRIV		/* netdev_priv() */
++#define HAVE_NETIF_QUEUE
++#define HAVE_NET_DEVICE_OPS
++#endif
+ 
+ /*
+  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting

diff --git a/app-emulation/vmware-modules/files/271-putname.patch b/app-emulation/vmware-modules/files/271-putname.patch
new file mode 100644
index 0000000..6e76130
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-putname.patch
@@ -0,0 +1,13 @@
+diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c
+index 79716bd..2dd83fe 100644
+--- a/vmblock-only/linux/control.c
++++ b/vmblock-only/linux/control.c
+@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf,                // IN: buffer with name
+ 
+    retval = i < 0 ? -EINVAL : blockOp(name, blocker);
+ 
+-   putname(name);
++   __putname(name);
+ 
+    return retval;
+ }

diff --git a/app-emulation/vmware-modules/metadata.xml b/app-emulation/vmware-modules/metadata.xml
new file mode 100644
index 0000000..313c162
--- /dev/null
+++ b/app-emulation/vmware-modules/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<herd>vmware</herd>
+	<longdescription>
+		VMware kernel modules.
+	</longdescription>
+	<use>
+    	<flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag>
+    	<flag name="vmci">Build the Virtual Machine Communication Interface module; disable this if you want to use the module from the mainline kernel</flag>
+    	<flag name="vsock">Build the VMware VMCI transport for Virtual Sockets; disable this if you want to use the module from the mainline kernel</flag>
+	</use>
+</pkgmetadata>

diff --git a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
new file mode 100644
index 0000000..72b49b0
--- /dev/null
+++ b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.3.ebuild,v 1.5 2014/06/09 15:24:07 dilfridge Exp $
+
+EAPI="4"
+
+inherit eutils flag-o-matic linux-info linux-mod user versionator udev
+
+PV_MAJOR=$(get_major_version)
+PV_MINOR=$(get_version_component_range 2)
+
+DESCRIPTION="VMware kernel modules"
+HOMEPAGE="http://www.vmware.com/"
+
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="pax_kernel"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	|| ( =app-emulation/vmware-player-5.0.${PV_MINOR}*
+	=app-emulation/vmware-workstation-9.0.${PV_MINOR}* )"
+
+S=${WORKDIR}
+
+pkg_setup() {
+	CONFIG_CHECK="~HIGH_RES_TIMERS"
+	if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
+		CONFIG_CHECK="${CONFIG_CHECK} BKL"
+	fi
+
+	linux-info_pkg_setup
+
+	linux-mod_pkg_setup
+
+	VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+
+	VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock"
+	VMWARE_MOD_DIR="${PN}-${PVR}"
+
+	BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
+
+	enewgroup "${VMWARE_GROUP}"
+	filter-flags -mfpmath=sse
+
+	for mod in ${VMWARE_MODULE_LIST}; do
+		MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
+	done
+}
+
+src_unpack() {
+	cd "${S}"
+	for mod in ${VMWARE_MODULE_LIST}; do
+		tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
+	done
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
+	use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
+	kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
+	
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-271-3.10-00-userns.patch
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-271-3.10-01-create_proc_entry.patch
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-271-3.10-02-getname.patch
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-271-3.10-03-deprecated.patch
+
+	# Allow user patches so they can support RC kernels and whatever else
+	epatch_user
+}
+
+src_install() {
+	linux-mod_src_install
+	local udevrules="${T}/60-vmware.rules"
+	cat > "${udevrules}" <<-EOF
+		KERNEL=="vmci",  GROUP="vmware", MODE=660
+		KERNEL=="vmmon", GROUP="vmware", MODE=660
+		KERNEL=="vsock", GROUP="vmware", MODE=660
+	EOF
+	udev_dorules "${udevrules}"
+}


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-10 13:55 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-10 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     641205e8d0e691be4155abc1c5dc2c4232898304
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Thu Oct  9 21:34:25 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Oct  9 21:34:25 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=641205e8

now compiles with 3.16/3.17, i think that makes it up to date!

---
 app-emulation/vmware-modules/files/271-3.17-00-netdev.patch | 12 ++++++++++++
 app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild |  1 +
 2 files changed, 13 insertions(+)

diff --git a/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
new file mode 100644
index 0000000..fbe1741
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
@@ -0,0 +1,12 @@
+diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
+--- vmnet-only/netif.c	2013-11-06 00:40:52.000000000 -0500
++++ vmnet-only.new/netif.c	2014-10-09 17:29:12.361307961 -0400
+@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName,  // IN:
+    memcpy(deviceName, devName, sizeof deviceName);
+    NULL_TERMINATE_STRING(deviceName);
+ 
+-   dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
++   dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_UNKNOWN, VNetNetIfSetup);
+    if (!dev) {
+       retval = -ENOMEM;
+       goto out;

diff --git a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
index f1b1f2b..181d792 100644
--- a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
@@ -82,6 +82,7 @@ src_prepare() {
 	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"	
 	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
 	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
+	kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-11 15:52 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-11 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     1a5f058793742777d3e60ca3b930fc54bb42a344
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 15:43:43 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 15:43:43 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=1a5f0587

now supports 3.13.0

---
 .../vmware-modules/files/279-3.13-00-vmnet.patch   | 36 ++++++++++++++++++++++
 .../vmware-modules/vmware-modules-279.2-r1.ebuild  |  1 +
 2 files changed, 37 insertions(+)

diff --git a/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch b/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch
new file mode 100644
index 0000000..4e9d7e9
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch
@@ -0,0 +1,36 @@
+--- work/vmnet-only/filter.c   2013-08-27 20:29:04.000000000 +0100
++++ patched/vmnet-only/filter.c   2014-01-26 01:09:05.184893854 +0000
+@@ -27,6 +27,7 @@
+ #include "compat_module.h"
+ #include <linux/mutex.h>
+ #include <linux/netdevice.h>
++#include <linux/version.h>
+ #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
+ #   include <linux/module.h>
+ #else
+@@ -203,7 +204,11 @@
+ #endif
+
+ static unsigned int
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ VNetFilterHookFn(unsigned int hooknum,                 // IN:
++#else
++VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
++#endif
+ #ifdef VMW_NFHOOK_USES_SKB
+                  struct sk_buff *skb,                  // IN:
+ #else
+@@ -252,7 +257,12 @@
+
+    /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
+    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
+-   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
++
++   #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
++      transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
++   #else
++      transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
++   #endif
+
+    packetHeader = compat_skb_network_header(skb);
+    ip = (struct iphdr*)packetHeader;

diff --git a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
index 1212ca8..cd4419a 100644
--- a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
@@ -90,6 +90,7 @@ src_prepare() {
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-hub.patch"
 	
 	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch"
+	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"
 
 
 	# Allow user patches so they can support RC kernels and whatever else


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-11 15:52 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-11 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     87ec4f2abfca54db62bfa89450aa1c55a2e5d9b5
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 15:47:01 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 15:47:01 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=87ec4f2a

build on 3.14.0

---
 .../files/279-3.10-03-deprecated.patch             | 85 ++++++++++++++++++++++
 ...10-03-dentry.patch => 279-3.10-04-dentry.patch} |  0
 ...3.10-04-inode.patch => 279-3.10-05-inode.patch} |  0
 .../vmware-modules/vmware-modules-279.2-r1.ebuild  |  5 +-
 4 files changed, 88 insertions(+), 2 deletions(-)

diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
new file mode 100644
index 0000000..3a9f785
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
@@ -0,0 +1,85 @@
+diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
+--- vmblock-only/shared/vm_assert.h	2014-10-09 21:50:54.221159088 -0400
++++ vmblock-only.new/shared/vm_assert.h	2014-10-09 21:53:04.612166156 -0400
+@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
+--- vmci-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
++++ vmci-only.new/shared/vm_assert.h	2014-10-09 21:52:52.348165492 -0400
+@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
+--- vmmon-only/include/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
++++ vmmon-only.new/include/vm_assert.h	2014-10-09 21:52:36.877164653 -0400
+@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
+--- vmnet-only/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
++++ vmnet-only.new/vm_assert.h	2014-10-09 21:52:57.736165784 -0400
+@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) do {} while (0)
+ #endif
+ 
+diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
+--- vsock-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
++++ vsock-only.new/shared/vm_assert.h	2014-10-09 21:52:45.352165112 -0400
+@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+ #define LOG_ONCE(_s) DO_ONCE(Log _s)
+ 
+ #ifdef VMX86_DEVEL
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) DO_ONCE(                                        \
+                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
+                                           __FILE__, __LINE__, __FUNCTION__, \
+                                           _fix))
+ #else
++   #undef DEPRECATED
+    #define DEPRECATED(_fix) do {} while (0)
+ #endif
+ 

diff --git a/app-emulation/vmware-modules/files/279-3.10-03-dentry.patch b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch
similarity index 100%
rename from app-emulation/vmware-modules/files/279-3.10-03-dentry.patch
rename to app-emulation/vmware-modules/files/279-3.10-04-dentry.patch

diff --git a/app-emulation/vmware-modules/files/279-3.10-04-inode.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
similarity index 100%
rename from app-emulation/vmware-modules/files/279-3.10-04-inode.patch
rename to app-emulation/vmware-modules/files/279-3.10-05-inode.patch

diff --git a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
index cd4419a..131d93a 100644
--- a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
@@ -83,8 +83,9 @@ src_prepare() {
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-unused-typedef.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-dentry.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-inode.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch"
 
 	# fixes a memcpy/memcmp bug in the hub code
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-hub.patch"


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2014-10-11 21:54 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2014-10-11 21:54 UTC (permalink / raw
  To: gentoo-commits

commit:     9855e554b7065d7a7233017037371f70b7abe796
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Sat Oct 11 21:49:37 2014 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Sat Oct 11 21:49:37 2014 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/vmware.git;a=commit;h=9855e554

correcting the patches for VMware 10

Package-Manager: portage-2.2.8-r2

---
 app-emulation/vmware-modules/Manifest              |  44 --------
 .../files/279-3.10-02-unused-typedef.patch         | 112 ---------------------
 .../files/279-3.10-03-deprecated.patch             |  70 ++++++-------
 .../vmware-modules/files/279-3.10-05-hub.patch     |  21 ----
 .../vmware-modules/files/279-3.13-00-vmnet.patch   |  36 -------
 .../vmware-modules/vmware-modules-279.2-r1.ebuild  |   4 -
 6 files changed, 35 insertions(+), 252 deletions(-)

diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest
deleted file mode 100644
index 30288f3..0000000
--- a/app-emulation/vmware-modules/Manifest
+++ /dev/null
@@ -1,44 +0,0 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-AUX 271-3.10.0.patch 23418 SHA256 346d1ca7705dd5f791e0d69cdbb346ebd31f2f4f11f3989c23d1a89e11e1b91b SHA512 878678f951b05137deb1656ccd7fd3185887f02649f2a223ef60ccecdedc7aeda6ca08ddd108e379734b5e04ef11d326b20e45c069c53cc52b7a6869b8db6410 WHIRLPOOL 196515870addefcd6857dd3e44a04b8a6c0da39185e7cea7826f1498f5a4c17997ebe43aada7f22a1c3fa94302576ced2a7ed36e2452de00711256c83f7fa41e
-AUX 271-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
-AUX 271-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
-AUX 271-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
-AUX 271-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
-AUX 271-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
-AUX 271-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
-AUX 271-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
-AUX 271-vmmon.patch 1581 SHA256 a4e89766232d0fc0456bb026978dedca17fcc62e247c8d65ae747b537e62fd13 SHA512 10aca60b959647c058fa69f851892a0245acad971028876da8d0a0e6002d0e8f6f2677fd0d9b140ee8a1a68cf2cfa3f8937a992f8b0e7e163aa6bcc17b75c979 WHIRLPOOL 28d1a34e89c7a995dbde48d87d8942c6f58e61f4a24189a1463c148c843fdf16cea7df497993eb6fb8d8de228f07ae8a44233bb63e42b54ab1f762e7e24889ba
-AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0
-AUX 279-filldir.patch 2485 SHA256 539e8940b47cb7a5f39ab2ba6f18ceb290a2627c81bd6daead6e5850aec02a63 SHA512 e5f85031f459a79a0f64b15224ae8c1ef23892ef159a37955b9c2a2b13ab6e892325a5aeedd4fd2969da3b187cedcaea8fc41540638d02cf56dce2d3e9194937 WHIRLPOOL a455300e72624e4f9c8d3dc79fa5c3ab1b288e79a04483503006a61d44bc83bf14faf0bfa753f82a70dbd23f870b2f6bfe1b06d23792eb1522a7265799ce03eb
-AUX 279-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a
-AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338
-AUX 279-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6
-AUX 279-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a
-AUX 279-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45
-AUX 279-vfsfollowlink.patch 1219 SHA256 b195f6492a172f682d55fb506ba02c473fd924bb47dc0d1359dd5de163b4da22 SHA512 b675f68175be0b7003d2f80c54dce05a064f8d5bd8744d40571d3d1e0153c01f909e37e0403e53f23a6d61383a9b054c40a2a9ffa95dd765eeffb0c7e739ff1d WHIRLPOOL 3e108ee29c2050029c6079f652e2670529a9f6b220524db214c7dadba3dcaef8fa1ab261f0e10ffa7506456d9f3cccc954bf6a82960e78ebd120c1eb2aac68e8
-AUX 279-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9
-AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0
-EBUILD vmware-modules-271.3.ebuild 2326 SHA256 9d50fba55474113a5b185f3d0661065fff281eac1dae363d30972622af27a5b2 SHA512 44942c12745836b951ff9c1d0b52c920849ec624a9058a8e645b530d0eef3327bef1018a4a8569f65c6f7a62d8fc4c904c4b22b52fa303d7ac18bfd6c242daef WHIRLPOOL 0809eb2c3e18f3eceefb6db1b198093202ad41e3720955db79cf998f00793c0e6b489e779b1fa1264fcff6f5d6d0a5de6c2c5ef9b98aa32cf2f9f8d551193594
-EBUILD vmware-modules-279.1-r1.ebuild 2830 SHA256 7a39118cc3c5ecdf4f45fc101d64a73a4f5f1747484337276e0bcb2f47537d5d SHA512 a42130e592f38696df8d8f02eb40b230ddaad5833cc95c19535cdf7417016d4b8d4870f88c0bc65f8b430c0498d8c771412439d3f6bbcfd21147f6858eb4c0f7 WHIRLPOOL 39b0e5e39cc3534b4bb1f1295b26c03fc4436458bd7d21cae94e83e57ea3ce822777eef00319ebae935f87ba6529ebf4cae8a91cb6ccf2a4b389bda320afcc61
-EBUILD vmware-modules-279.2.ebuild 2827 SHA256 407d97fb75dcde69bfb495722c2fea0e052ac19d294bf88f3b4acd767c342cb1 SHA512 20bad58f294c1ee1487958024d0ebd6628df9f2d30577d9e2a5373a28de1514527ab9e1cac0c305511966348613baa20c044a8e4a08e0830bc6cdd7dcff9d58f WHIRLPOOL 8fdb2e052b079e286476f5c3af7d2d13f295a37fcab861f5734161fa61a9e86dd9c73489511cc55c75cccf0a92d6da8407e9ea5299637b05b809ff2c1ea89b09
-MISC ChangeLog 27008 SHA256 c801550eb2d8a030b56e1f9ae168696f2341cdcc3e5db9b36d3abd8b03e391e7 SHA512 4cd7584abf3f5fef8d8a5c0a83c6b598c3371de1cdecc8fb7e5d08f4716b5e8d25aa012884faa028023a94d425940cc9da6241b1d50416db810e53fdde7cd33a WHIRLPOOL 32b5696cf9b0a6113b896b4b1b0c03d9ad67510180dcfee7a4871bd1f8e6c7f17b6fbbf25fb8313dc35ff980504feb3127e83c8fe3b17a0fe06951f377afb6f4
-MISC metadata.xml 626 SHA256 df85fe94586e898742dda5a30bf95be1c66bded72b9b679b4bda9fb3113bb94a SHA512 5c16977fa1e95f123891324b24d20161bfbfa5f4a38371374290e635bba33cbbc933761f44b826503c37e4bb2295c4026356eddc6aef091c07dc17f773f538ec WHIRLPOOL f83d377fa941fbcfe25dfc83ad276f55782c1e9bdff6dc7ae147be667d7129ae55dae6c19c18544dc27123977d3aa6273f185b4cced70ab841e87a04a4fcae82
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.22 (GNU/Linux)
-
-iQIcBAEBCAAGBQJTldLFAAoJEJS/30SErRQvX/QP/1QXtZe7dG8bgRIsgCgs8K4/
-TAqTH35dATsIZG66u36ygom06kXAWGvko1qX05FJUP7yd+fy/7cGKXerfqOk6A9z
-kehwXwSELjDJQx9f3+1D52rzDnoXiNkIN1lGHypIPwAzY/MsehWhZ+9CiHvQNDRt
-3yW+jrg/GK8AxcfbozDwSSiY8ndtceizY5h13/R845Bmgyndp6+UBAr0+9MzQfOr
-Tk5hyRsuwTKY+pXqPsLpB2V8T4UhdA7khkNs4Lmz9+jYbP7QA4PJiCZCFOZoMfPV
-SS+VzGQoJbvRXfM0QXCJrHTXfqlYfFa9YSWnsDwmVm1d58WnWMS23wiVLYYiuR+c
-V/BQAPv3vUcK2xsW/TGgmWnE+9VRR5VhFVPYxdT0XUo1qpietr06bd0fDciB2JzE
-vY4wMobMy1JDnWZ1fVRbziAN1jqwHGIYbU8zNxsrymSpDjXFvpbNEXGT4lKqp/V8
-mfI+9exrqYEu9aS5WHJyvxaAVrveBC396oEaiyBOEeHrnU1xbWbTfQuTb4KnZpP6
-J57IBw3deK1DXtMF/zC5yp8yvUoZnEHiqt+h86D54fScizT46yxMgyiBF2lr7wm4
-PF88RiLUR1G6eyfDp80YK440/KLxNd0FxRlEYtBcOQ1OPl4Wre7IZ0mBpNMhDUGR
-2uPO8UukgNVka2/7Dt/i
-=sxBP
------END PGP SIGNATURE-----

diff --git a/app-emulation/vmware-modules/files/279-3.10-02-unused-typedef.patch b/app-emulation/vmware-modules/files/279-3.10-02-unused-typedef.patch
deleted file mode 100644
index d030110..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-02-unused-typedef.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- vmblock-only/shared/vm_assert.h	2014-10-07 22:43:39.519402467 -0400
-+++ vmblock-only/shared/vm_assert.h	2014-10-07 22:48:01.346409957 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmci-only/shared/vm_assert.h	2014-10-07 22:43:39.519402467 -0400
-+++ vmci-only/shared/vm_assert.h	2014-10-07 22:47:51.829409685 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmmon-only/include/vm_assert.h	2014-10-07 22:43:39.520402467 -0400
-+++ vmmon-only/include/vm_assert.h	2014-10-07 22:47:39.246409325 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmnet-only/vm_assert.h	2014-10-07 22:43:39.520402467 -0400
-+++ vmnet-only/vm_assert.h	2014-10-07 22:47:55.804409799 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vsock-only/shared/vm_assert.h	2014-10-07 22:47:11.595408534 -0400
-+++ vsock-only/shared/vm_assert.h	2014-10-07 22:45:55.715406363 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vsock-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only/shared/vm_atomic.h	2014-10-07 22:53:06.024418673 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
---- vmci-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vmci-only/shared/vm_atomic.h	2014-10-07 22:53:24.873419213 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
-
---- vmblock-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vmblock-only/shared/vm_atomic.h	2014-10-07 22:53:31.073419390 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-
---- vmnet-only/vm_atomic.h	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only/vm_atomic.h	2014-10-07 23:04:50.637438831 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
-																			   
---- vmmon-only/include/vm_atomic.h   2013-11-06 00:40:52.000000000 -0500
-+++ vmmon-only/include/vm_atomic.h   2014-10-07 23:04:50.637438831 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \

diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
index 3a9f785..0cd1a16 100644
--- a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
+++ b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
@@ -1,83 +1,83 @@
 diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
---- vmblock-only/shared/vm_assert.h	2014-10-09 21:50:54.221159088 -0400
-+++ vmblock-only.new/shared/vm_assert.h	2014-10-09 21:53:04.612166156 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+--- vmblock-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
++++ vmblock-only.new/shared/vm_assert.h	2014-10-11 17:37:23.010352172 -0400
+@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
  #define LOG_ONCE(_s) DO_ONCE(Log _s)
  
  #ifdef VMX86_DEVEL
 +   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
+    #define DEPRECATED(_fix) DO_ONCE(                                     \
+                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
+                                        __FILE__, __LINE__, __FUNCTION__, \
+                                        _fix))
  #else
 +   #undef DEPRECATED
     #define DEPRECATED(_fix) do {} while (0)
  #endif
  
 diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
---- vmci-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmci-only.new/shared/vm_assert.h	2014-10-09 21:52:52.348165492 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+--- vmci-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
++++ vmci-only.new/shared/vm_assert.h	2014-10-11 17:37:08.936352130 -0400
+@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
  #define LOG_ONCE(_s) DO_ONCE(Log _s)
  
  #ifdef VMX86_DEVEL
 +   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
+    #define DEPRECATED(_fix) DO_ONCE(                                     \
+                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
+                                        __FILE__, __LINE__, __FUNCTION__, \
+                                        _fix))
  #else
 +   #undef DEPRECATED
     #define DEPRECATED(_fix) do {} while (0)
  #endif
  
 diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
---- vmmon-only/include/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmmon-only.new/include/vm_assert.h	2014-10-09 21:52:36.877164653 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+--- vmmon-only/include/vm_assert.h	2014-04-14 20:06:20.000000000 -0400
++++ vmmon-only.new/include/vm_assert.h	2014-10-11 17:36:45.289352058 -0400
+@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
  #define LOG_ONCE(_s) DO_ONCE(Log _s)
  
  #ifdef VMX86_DEVEL
 +   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
+    #define DEPRECATED(_fix) DO_ONCE(                                     \
+                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
+                                        __FILE__, __LINE__, __FUNCTION__, \
+                                        _fix))
  #else
 +   #undef DEPRECATED
     #define DEPRECATED(_fix) do {} while (0)
  #endif
  
 diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
---- vmnet-only/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmnet-only.new/vm_assert.h	2014-10-09 21:52:57.736165784 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+--- vmnet-only/vm_assert.h	2014-04-14 20:06:21.000000000 -0400
++++ vmnet-only.new/vm_assert.h	2014-10-11 17:37:14.364352146 -0400
+@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
  #define LOG_ONCE(_s) DO_ONCE(Log _s)
  
  #ifdef VMX86_DEVEL
 +   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
+    #define DEPRECATED(_fix) DO_ONCE(                                     \
+                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
+                                        __FILE__, __LINE__, __FUNCTION__, \
+                                        _fix))
  #else
 +   #undef DEPRECATED
     #define DEPRECATED(_fix) do {} while (0)
  #endif
  
 diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
---- vsock-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vsock-only.new/shared/vm_assert.h	2014-10-09 21:52:45.352165112 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
+--- vsock-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
++++ vsock-only.new/shared/vm_assert.h	2014-10-11 17:37:02.778352111 -0400
+@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
  #define LOG_ONCE(_s) DO_ONCE(Log _s)
  
  #ifdef VMX86_DEVEL
 +   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
+    #define DEPRECATED(_fix) DO_ONCE(                                     \
+                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
+                                        __FILE__, __LINE__, __FUNCTION__, \
+                                        _fix))
  #else
 +   #undef DEPRECATED
     #define DEPRECATED(_fix) do {} while (0)

diff --git a/app-emulation/vmware-modules/files/279-3.10-05-hub.patch b/app-emulation/vmware-modules/files/279-3.10-05-hub.patch
deleted file mode 100644
index 50ab341..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-05-hub.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -rupN vmnet-only/hub.c vmnet-only.new/hub.c
---- vmnet-only/hub.c	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only.new/hub.c	2014-10-07 18:45:34.403918680 -0400
-@@ -129,7 +129,7 @@ VNetHubFindHubByID(uint8 idNum[VNET_PVN_
- {
-    VNetHub *currHub = vnetHub;
-    while (currHub && (currHub->hubType != HUB_TYPE_PVN ||
--		      memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {
-+		      memcmp(idNum, currHub->id.pvnID, VNET_PVN_ID_LEN))) {
-       currHub = currHub->next;
-    }
-    return currHub;
-@@ -312,7 +312,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE
- 
-       if (allocPvn) {
- 	 hub->hubType = HUB_TYPE_PVN;
--	 memcpy(hub->id.pvnID, id, sizeof id);
-+	 memcpy(hub->id.pvnID, id, VNET_PVN_ID_LEN);
- 	 ++pvnInstance;
-       } else {
- 	 hub->hubType = HUB_TYPE_VNET;

diff --git a/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch b/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch
deleted file mode 100644
index 4e9d7e9..0000000
--- a/app-emulation/vmware-modules/files/279-3.13-00-vmnet.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- work/vmnet-only/filter.c   2013-08-27 20:29:04.000000000 +0100
-+++ patched/vmnet-only/filter.c   2014-01-26 01:09:05.184893854 +0000
-@@ -27,6 +27,7 @@
- #include "compat_module.h"
- #include <linux/mutex.h>
- #include <linux/netdevice.h>
-+#include <linux/version.h>
- #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
- #   include <linux/module.h>
- #else
-@@ -203,7 +204,11 @@
- #endif
-
- static unsigned int
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
- VNetFilterHookFn(unsigned int hooknum,                 // IN:
-+#else
-+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
-+#endif
- #ifdef VMW_NFHOOK_USES_SKB
-                  struct sk_buff *skb,                  // IN:
- #else
-@@ -252,7 +257,12 @@
-
-    /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
-    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
--   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
-+
-+   #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
-+      transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
-+   #else
-+      transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
-+   #endif
-
-    packetHeader = compat_skb_network_header(skb);
-    ip = (struct iphdr*)packetHeader;

diff --git a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
index d6cc8ea..96b318b 100644
--- a/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-279.2-r1.ebuild
@@ -82,16 +82,12 @@ src_prepare() {
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-unused-typedef.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch"
 
-	# fixes a memcpy/memcmp bug in the hub code
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-hub.patch"
 	
 	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch"
-	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"
 	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
 	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
 	kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2015-07-10 23:17 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2015-07-10 23:17 UTC (permalink / raw
  To: gentoo-commits

commit:     9c26a3fe09dc2b49b046b2097248ce3d6c60075e
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Mon Jul  6 03:21:27 2015 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Mon Jul  6 03:21:27 2015 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=9c26a3fe

working on vmware-workstation 11 support :-)

Package-Manager: portage-2.2.20

 .../vmware-modules/files/304-3.10-00-dentry.patch  |  42 ++++++++
 .../vmware-modules/files/304-3.10-01-inode.patch   |  91 +++++++++++++++++
 .../vmware-modules/files/304-3.10-02-control.patch |  55 +++++++++++
 .../vmware-modules/files/304-3.10-03-inline.patch  |  13 +++
 .../vmware-modules/files/304-3.11-00-readdir.patch |  41 ++++++++
 .../vmware-modules/files/304-3.11-01-filldir.patch |  53 ++++++++++
 .../vmware-modules/files/304-3.15-00-vsock.patch   |  46 +++++++++
 .../files/304-3.18-00-version-redefined.patch      |  24 +++++
 .../files/304-3.19-00-compat-namei.patch           |  23 +++++
 .../vmware-modules/files/304-3.19-01-dentry.patch  |  13 +++
 .../files/304-3.19-02-vmblock-path.patch           |  67 +++++++++++++
 .../vmware-modules/files/304-3.19-03-iovec.patch   |  19 ++++
 .../vmware-modules/files/304-3.19-04-iovec.patch   |  58 +++++++++++
 .../files/304-3.19-05-vmci_qpair.patch             |  24 +++++
 .../vmware-modules/files/304-3.19-06-vsock.patch   |  15 +++
 .../vmware-modules/files/304-3.19-07-vsock.patch   |  12 +++
 .../files/304-makefile-include.patch               |  65 +++++++++++++
 .../files/304-makefile-kernel-dir.patch            |  85 ++++++++++++++++
 .../vmware-modules/vmware-modules-304.0.ebuild     | 108 +++++++++++++++++++++
 19 files changed, 854 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-3.10-00-dentry.patch b/app-emulation/vmware-modules/files/304-3.10-00-dentry.patch
new file mode 100644
index 0000000..a0bb8b8
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.10-00-dentry.patch
@@ -0,0 +1,42 @@
+--- a/vmblock-only/linux/dentry.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/dentry.c	2015-02-24 03:58:06.038605919 +0300
+@@ -32,7 +32,11 @@
+ #include "block.h"
+ 
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
++#else
++static int DentryOpRevalidate(struct dentry *dentry, unsigned int);
++#endif
+ 
+ struct dentry_operations LinkDentryOps = {
+    .d_revalidate = DentryOpRevalidate,
+@@ -58,9 +62,12 @@
+  *----------------------------------------------------------------------------
+  */
+ 
+-static int
+-DentryOpRevalidate(struct dentry *dentry,  // IN: dentry revalidating
+-                   struct nameidata *nd)   // IN: lookup flags & intent
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd)
++#else
++static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags)
++#endif
++
+ {
+    VMBlockInodeInfo *iinfo;
+    struct nameidata actualNd;
+@@ -101,7 +108,11 @@
+    if (actualDentry &&
+        actualDentry->d_op &&
+        actualDentry->d_op->d_revalidate) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++      return actualDentry->d_op->d_revalidate(actualDentry, flags);
++#else
+       return actualDentry->d_op->d_revalidate(actualDentry, nd);
++#endif
+    }
+ 
+    if (compat_path_lookup(iinfo->name, 0, &actualNd)) {

diff --git a/app-emulation/vmware-modules/files/304-3.10-01-inode.patch b/app-emulation/vmware-modules/files/304-3.10-01-inode.patch
new file mode 100644
index 0000000..cf4ccd9
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.10-01-inode.patch
@@ -0,0 +1,91 @@
+--- a/vmblock-only/linux/inode.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/inode.c	2015-02-24 03:58:06.039605762 +0300
+@@ -35,9 +35,15 @@
+ 
+ 
+ /* Inode operations */
+-static struct dentry *InodeOpLookup(struct inode *dir,
+-                                    struct dentry *dentry, struct nameidata *nd);
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd);
+ static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
++#else
++static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int);
++static int InodeOpReadlink(struct dentry *, char __user *, int);
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+ #else
+@@ -49,12 +55,15 @@
+    .lookup = InodeOpLookup,
+ };
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ static struct inode_operations LinkInodeOps = {
++#else
++struct inode_operations LinkInodeOps = {
++#endif
+    .readlink    = InodeOpReadlink,
+    .follow_link = InodeOpFollowlink,
+ };
+ 
+-
+ /*
+  *----------------------------------------------------------------------------
+  *
+@@ -75,7 +84,11 @@
+ static struct dentry *
+ InodeOpLookup(struct inode *dir,      // IN: parent directory's inode
+               struct dentry *dentry,  // IN: dentry to lookup
+-              struct nameidata *nd)   // IN: lookup intent and information
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++	      struct nameidata *nd)   // IN: lookup intent and information
++#else
++              unsigned int flags)
++#endif
+ {
+    char *filename;
+    struct inode *inode;
+@@ -135,7 +148,12 @@
+    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
+    inode->i_version = 1;
+    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+    inode->i_uid = inode->i_gid = 0;
++#else
++   inode->i_gid = make_kgid(current_user_ns(), 0);
++   inode->i_uid = make_kuid(current_user_ns(), 0);
++#endif
+    inode->i_op = &LinkInodeOps;
+ 
+    d_add(dentry, inode);
+@@ -177,7 +195,12 @@
+       return -EINVAL;
+    }
+ 
+-   return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
++	return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#else
++       return readlink_copy(buffer, buflen, iinfo->name);
++#endif
++
+ }
+ 
+ 
+@@ -221,7 +244,7 @@
+       goto out;
+    }
+ 
+-   ret = vfs_follow_link(nd, iinfo->name);
++   nd_set_link(nd, iinfo->name);
+ 
+ out:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+@@ -230,3 +253,4 @@
+    return ret;
+ #endif
+ }
++

diff --git a/app-emulation/vmware-modules/files/304-3.10-02-control.patch b/app-emulation/vmware-modules/files/304-3.10-02-control.patch
new file mode 100644
index 0000000..bd3a265
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.10-02-control.patch
@@ -0,0 +1,55 @@
+--- a/vmblock-only/linux/control.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/control.c	2015-02-24 03:58:06.038605919 +0300
+@@ -208,9 +208,11 @@
+    VMBlockSetProcEntryOwner(controlProcMountpoint);
+ 
+    /* Create /proc/fs/vmblock/dev */
+-   controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
+-                                        VMBLOCK_CONTROL_MODE,
+-                                        controlProcDirEntry);
++   controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, 
++				  VMBLOCK_CONTROL_MODE,
++                                  controlProcDirEntry, 
++				  &ControlFileOps);
++
+    if (!controlProcEntry) {
+       Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
+       remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
+@@ -218,7 +220,10 @@
+       return -EINVAL;
+    }
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+    controlProcEntry->proc_fops = &ControlFileOps;
++#endif
++
+    return 0;
+ }
+
+@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf,
+    int i;
+    int retval;
+ 
+-   name = getname(buf);
++   name = __getname();
+    if (IS_ERR(name)) {
+       return PTR_ERR(name);
+    }
+ 
++   i = strncpy_from_user(name, buf, PATH_MAX);
++   if (i < 0 || i == PATH_MAX) {
++      __putname(name);
++      return -EINVAL;
++   }
++
+    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
+       name[i] = '\0';
+    }
+ 
+    retval = i < 0 ? -EINVAL : blockOp(name, blocker);
+ 
+-   putname(name);
++   __putname(name);
+ 
+    return retval;
+ }

diff --git a/app-emulation/vmware-modules/files/304-3.10-03-inline.patch b/app-emulation/vmware-modules/files/304-3.10-03-inline.patch
new file mode 100644
index 0000000..73c2a5f
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.10-03-inline.patch
@@ -0,0 +1,13 @@
+--- a/vmmon-only/linux/driver.c	2015-02-07 03:54:16.000000000 +0300
++++ c/vmmon-only/linux/driver.c	2015-02-24 03:58:06.042605293 +0300
+@@ -1328,7 +1328,9 @@
+  *-----------------------------------------------------------------------------
+  */
+ 
+-__attribute__((always_inline)) static Bool
++#include <linux/compiler-gcc.h>
++
++__always_inline static Bool
+ LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
+ {
+    TSCDelta tscDelta;

diff --git a/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch
new file mode 100644
index 0000000..b2f76d3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch
@@ -0,0 +1,41 @@
+replaces usage of vfs_readdir with iterate_dir. origionally found here:
+https://bugs.gentoo.org/show_bug.cgi?id=508204
+
+diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
+--- vmblock-only/linux/file.c	2013-11-05 23:33:26.000000000 -0500
++++ vmblock-only/linux/file.c	2014-04-26 10:58:03.062635343 -0400
+@@ -166,11 +166,9 @@
+ 
+ static int
+ FileOpReaddir(struct file *file,  // IN
+-              void *dirent,       // IN
+-              filldir_t filldir)  // IN
++		struct dir_context *ctx)
+ {
+    int ret;
+-   FilldirInfo info;
+    struct file *actualFile;
+ 
+    if (!file) {
+@@ -184,11 +182,8 @@
+       return -EINVAL;
+    }
+ 
+-   info.filldir = filldir;
+-   info.dirent = dirent;
+-
+    actualFile->f_pos = file->f_pos;
+-   ret = vfs_readdir(actualFile, Filldir, &info);
++   ret = iterate_dir(actualFile, ctx);
+    file->f_pos = actualFile->f_pos;
+ 
+    return ret;
+@@ -237,7 +232,7 @@
+ 
+ 
+ struct file_operations RootFileOps = {
+-   .readdir = FileOpReaddir,
++   .iterate = FileOpReaddir,
+    .open    = FileOpOpen,
+    .release = FileOpRelease,
+ };

diff --git a/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch
new file mode 100644
index 0000000..2eec99b
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch
@@ -0,0 +1,53 @@
+simply remove the code for Filldir since it is no longer used with the new 
+iterate_dir API
+
+diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
+--- vmblock-only/linux/file.c	2014-10-07 23:22:46.832469618 -0400
++++ vmblock-only.new/linux/file.c	2014-10-07 23:24:35.276472720 -0400
+@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
+ typedef ino_t inode_num_t;
+ #endif
+ 
+-/* Specifically for our filldir_t callback */
+-typedef struct FilldirInfo {
+-   filldir_t filldir;
+-   void *dirent;
+-} FilldirInfo;
+-
+-
+-/*
+- *----------------------------------------------------------------------------
+- *
+- * Filldir --
+- *
+- *    Callback function for readdir that we use in place of the one provided.
+- *    This allows us to specify that each dentry is a symlink, but pass through
+- *    everything else to the original filldir function.
+- *
+- * Results:
+- *    Original filldir's return value.
+- *
+- * Side effects:
+- *    Directory information gets copied to user's buffer.
+- *
+- *----------------------------------------------------------------------------
+- */
+-
+-static int
+-Filldir(void *buf,              // IN: Dirent buffer passed from FileOpReaddir
+-        const char *name,       // IN: Dirent name
+-        int namelen,            // IN: len of dirent's name
+-        loff_t offset,          // IN: Offset
+-        inode_num_t ino,        // IN: Inode number of dirent
+-        unsigned int d_type)    // IN: Type of file
+-{
+-   FilldirInfo *info = buf;
+-
+-   /* Specify DT_LNK regardless */
+-   return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
+-}
+-
+-
+ /* File operations */
+ 
+ /*

diff --git a/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch b/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch
new file mode 100644
index 0000000..9e8d9d1
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch
@@ -0,0 +1,46 @@
+removing the no longer existing second parameter to sk_data_ready
+doesn't seem it ever served a purpose.
+
+diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
+--- vsock-only/linux/notify.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notify.c	2014-10-05 23:46:47.943304728 -0400
+@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
+    vsk = vsock_sk(sk);
+    PKT_FIELD(vsk, sentWaitingRead) = FALSE;
+ #endif
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
+--- vsock-only/linux/notifyQState.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notifyQState.c	2014-10-05 23:46:33.231303931 -0400
+@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
+                      struct sockaddr_vm *dst,    // IN: unused
+                      struct sockaddr_vm *src)    // IN: unused
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
+       }
+ 
+       /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++      sk->sk_data_ready(sk);
++#else
+       sk->sk_data_ready(sk, 0);
++#endif
+    }
+ 
+    return err;

diff --git a/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch
new file mode 100644
index 0000000..2d38824
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch
@@ -0,0 +1,24 @@
+--- a/vmci-only/shared/vm_device_version.h	2015-02-07 03:11:55.000000000 +0300
++++ c/vmci-only/shared/vm_device_version.h	2015-02-24 03:58:06.041605450 +0300
+@@ -53,7 +53,9 @@
+  *    VMware HD Audio codec
+  *    VMware HD Audio controller
+  */
++#ifndef PCI_VENDOR_ID_VMWARE
+ #define PCI_VENDOR_ID_VMWARE                    0x15AD
++#endif
+ #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
+ #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
+ #define PCI_DEVICE_ID_VMWARE_VGA                0x0711
+--- a/vmnet-only/vm_device_version.h	2015-02-07 03:54:16.000000000 +0300
++++ c/vmnet-only/vm_device_version.h	2015-02-24 03:58:06.044604981 +0300
+@@ -53,7 +53,9 @@
+  *    VMware HD Audio codec
+  *    VMware HD Audio controller
+  */
++#ifndef PCI_VENDOR_ID_VMWARE                    
+ #define PCI_VENDOR_ID_VMWARE                    0x15AD
++#endif
+ #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
+ #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
+ #define PCI_DEVICE_ID_VMWARE_VGA                0x0711

diff --git a/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch
new file mode 100644
index 0000000..ec73500
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch
@@ -0,0 +1,23 @@
+--- a/vmblock-only/shared/compat_namei.h	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/shared/compat_namei.h	2015-02-24 03:51:25.235286047 +0300
+@@ -21,6 +21,20 @@
+ 
+ #include <linux/namei.h>
+ 
++/* Copy-n-paste from kernel's source/fs/namei.c */
++struct nameidata {
++         struct path     path;
++         struct qstr     last;
++         struct path     root;
++         struct inode    *inode; /* path.dentry.d_inode */
++         unsigned int    flags;
++         unsigned        seq, m_seq;
++         int             last_type;
++         unsigned        depth;
++         struct file     *base;
++         char *saved_names[MAX_NESTED_LINKS + 1];
++};
++
+ /*
+  * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
+  * struct. They were both replaced with a struct path.

diff --git a/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch b/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch
new file mode 100644
index 0000000..6f11a52
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch
@@ -0,0 +1,13 @@
+--- a/vmnet-only/driver.c	2015-02-07 03:54:17.000000000 +0300
++++ c/vmnet-only/driver.c	2015-02-24 03:58:06.043605137 +0300
+@@ -1191,8 +1191,8 @@
+    struct inode *inode = NULL;
+    long err;
+
+-   if (filp && filp->f_dentry) {
+-      inode = filp->f_dentry->d_inode;
++   if (filp && filp->f_path.dentry) {
++      inode = filp->f_path.dentry->d_inode;
+    }
+    err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
+    return err;

diff --git a/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch
new file mode 100644
index 0000000..178d147
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch
@@ -0,0 +1,67 @@
+Sources:
+https://531682.bugs.gentoo.org/attachment.cgi?id=396484
+https://531682.bugs.gentoo.org/attachment.cgi?id=396482
+diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
+--- vmblock-only.orig/linux/dentry.c	2015-02-14 18:05:46.000000000 -0500
++++ vmblock-only/linux/dentry.c	2015-02-14 18:09:59.000000000 -0500
+@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
+                    unsigned int flags)   // IN: lookup flags & intent
+ {
+    VMBlockInodeInfo *iinfo;
+-   struct nameidata actualNd;
++   struct path actualNd;
+    struct dentry *actualDentry;
+    int ret;
+ 
+diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
+--- vmblock-only.orig/linux/filesystem.c	2014-11-20 19:29:15.000000000 -0500
++++ vmblock-only/linux/filesystem.c	2015-02-14 18:10:49.000000000 -0500
+@@ -322,7 +322,7 @@ Iget(struct super_block *sb,    // IN: f
+ {
+    VMBlockInodeInfo *iinfo;
+    struct inode *inode;
+-   struct nameidata actualNd;
++   struct path actualNd;
+ 
+    ASSERT(sb);
+ 
+diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
+--- vmblock-only.orig/shared/compat_namei.h	2014-11-20 19:29:15.000000000 -0500
++++ vmblock-only/shared/compat_namei.h	2015-02-14 18:08:38.000000000 -0500
+@@ -26,21 +26,21 @@
+  * struct. They were both replaced with a struct path.
+  */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
++#define compat_vmw_nd_to_dentry(nd) (nd).dentry
+ #else
+ #define compat_vmw_nd_to_dentry(nd) (nd).dentry
+ #endif
+ 
+ /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+-#define compat_path_release(nd) path_put(&(nd)->path)
++#define compat_path_release(nd) path_put(nd)
+ #else
+ #define compat_path_release(nd) path_release(nd)
+ #endif
+ 
+ /* path_lookup was removed in 2.6.39 merge window VFS merge */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
+-#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, &((nd)->path))
++#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, nd)
+ #else
+ #define compat_path_lookup(name, flags, nd)     path_lookup(name, flags, nd)
+ #endif
+diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
+--- vmblock-only.orig/linux/file.c	2015-02-11 12:18:29.000000000 -0500
++++ vmblock-only/linux/file.c	2015-02-11 12:41:41.000000000 -0500
+@@ -92,7 +92,7 @@
+     * and that would try to acquire the inode's semaphore; if the two inodes
+     * are the same we'll deadlock.
+     */
+-   if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
++   if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
+       Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
+       if (filp_close(actualFile, current->files) < 0) {
+          Warning("FileOpOpen: unable to close opened file.\n");

diff --git a/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch b/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch
new file mode 100644
index 0000000..b016fec
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch
@@ -0,0 +1,19 @@
+--- a/vmnet-only/userif.c	2015-02-07 03:54:17.000000000 +0300
++++ c/vmnet-only/userif.c	2015-02-24 03:58:06.043605137 +0300
+@@ -523,7 +523,15 @@
+       .iov_base = buf,
+       .iov_len  = len,
+    };
+-   return skb_copy_datagram_iovec(skb, 0, &iov, len);
++
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
++	return skb_copy_datagram_iovec(skb, 0, &iov, len);
++#else
++	struct iov_iter to;
++	iov_iter_init(&to, READ, &iov, 1, len);
++	return skb_copy_datagram_iter(skb, 0, &to, len);
++#endif
+ }
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch
new file mode 100644
index 0000000..be54d9a
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch
@@ -0,0 +1,58 @@
+--- a/vmci-only/linux/vmciKernelIf.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmci-only/linux/vmciKernelIf.c	2015-02-24 03:58:06.041605450 +0300
+@@ -40,6 +40,7 @@
+ #include <linux/socket.h>       /* For memcpy_{to,from}iovec(). */
+ #include <linux/vmalloc.h>
+ #include <linux/wait.h>
++#include <linux/skbuff.h>
+ 
+ #include "compat_highmem.h"
+ #include "compat_interrupt.h"
+@@ -1196,21 +1197,21 @@
+       } else {
+          toCopy = size - bytesCopied;
+       }
+-
++      /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */
+       if (isIovec) {
+-         struct iovec *iov = (struct iovec *)src;
+-         int err;
++         struct msghdr *msg = (struct msghdr *)src;
++         int err;
+ 
+-         /* The iovec will track bytesCopied internally. */
+-         err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
+-         if (err != 0) {
+-            if (kernelIf->host) {
+-               kunmap(kernelIf->u.h.page[pageIndex]);
++         /* The iovec will track bytes_copied internally. */
++         err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
++         if (err != 0) {
++            if (kernelIf->host)
++               kunmap(kernelIf->u.h.page[pageIndex]);
++               return VMCI_ERROR_INVALID_ARGS;
+             }
+-            return VMCI_ERROR_INVALID_ARGS;
+-         }
+-      } else {
+-         memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy);
++        } else {
++            memcpy((u8 *)va + pageOffset,
++                   (u8 *)src + bytesCopied, toCopy);
+       }
+ 
+       bytesCopied += toCopy;
+@@ -1273,11 +1274,11 @@
+       }
+ 
+       if (isIovec) {
+-         struct iovec *iov = (struct iovec *)dest;
++	  struct msghdr *msg = (struct msghdr *)dest;
+          int err;
+ 
+          /* The iovec will track bytesCopied internally. */
+-         err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
++	  err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
+          if (err != 0) {
+             if (kernelIf->host) {
+                kunmap(kernelIf->u.h.page[pageIndex]);

diff --git a/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch
new file mode 100644
index 0000000..1849a37
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch
@@ -0,0 +1,24 @@
+diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
+--- vsock-only.old/linux/af_vsock.c     2015-05-06 20:41:47.684046762 -0400
++++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
+@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
+        * able to send.
+        */
+ 
+-      written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
++      written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
+                                   len - totalWritten, 0);
+       if (written < 0) {
+          err = -ENOMEM;
+@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
+          }
+ 
+          if (flags & MSG_PEEK) {
+-            read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
++            read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
+          } else {
+-            read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
++            read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
+          }
+ 
+          if (read < 0) {

diff --git a/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch
new file mode 100644
index 0000000..2e41230
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch
@@ -0,0 +1,15 @@
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2015-05-05 11:31:35.710099711 -0400
++++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:36:33.260115840 -0400
+@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
+    }
+ 
+    /* Place the datagram payload in the user's iovec. */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+    err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
++#else
++   err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
++#endif
+    if (err) {
+       goto out;
+    }

diff --git a/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch
new file mode 100644
index 0000000..8c9d3cb
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch
@@ -0,0 +1,12 @@
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2015-05-05 11:26:05.145081792 -0400
++++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:30:54.304097466 -0400
+@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
+       goto out;
+    }
+ 
+-   memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
++   memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
+ 
+    dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
+    dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);

diff --git a/app-emulation/vmware-modules/files/304-makefile-include.patch b/app-emulation/vmware-modules/files/304-makefile-include.patch
new file mode 100644
index 0000000..39c3000
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-makefile-include.patch
@@ -0,0 +1,65 @@
+diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
+index ab7a727..e3ec9d2 100644
+--- a/vmblock-only/Makefile.kernel
++++ b/vmblock-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE += -I$(SRCROOT)/include
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c,   -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
+diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
+index ba343ee..861ea83 100644
+--- a/vmci-only/Makefile.kernel
++++ b/vmci-only/Makefile.kernel
+@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
+ 
+ INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ obj-m += $(DRIVER).o
+ 
+diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
+index 8770d1d..c4746c3 100644
+--- a/vmmon-only/Makefile.kernel
++++ b/vmmon-only/Makefile.kernel
+@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
+ INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
+ 	   -I$(SRCROOT)/vmcore
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
+ 
+diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
+index d1e3133..665d428 100644
+--- a/vmnet-only/Makefile.kernel
++++ b/vmnet-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE := -I$(SRCROOT)
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
+diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
+index b4629ee..264b8cb 100644
+--- a/vsock-only/Makefile.kernel
++++ b/vsock-only/Makefile.kernel
+@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
+ INCLUDE += -I$(SRCROOT)/linux
+ INCLUDE += -I$(SRCROOT)/common
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/304-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/304-makefile-kernel-dir.patch
new file mode 100644
index 0000000..1a647a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-makefile-kernel-dir.patch
@@ -0,0 +1,85 @@
+diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
+index 2b81323..746c8b8 100644
+--- a/vmblock-only/Makefile
++++ b/vmblock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmblock
+ PRODUCT := ws
+diff --git a/vmci-only/Makefile b/vmci-only/Makefile
+index 8e9c5be..6ec828b 100644
+--- a/vmci-only/Makefile
++++ b/vmci-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmci
+ PRODUCT := ws
+diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
+index 5bd867b..91a83d4 100644
+--- a/vmmon-only/Makefile
++++ b/vmmon-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmmon
+ PRODUCT := @@PRODUCT@@
+diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
+index d4eb73c..c7c6d38 100644
+--- a/vmnet-only/Makefile
++++ b/vmnet-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmnet
+ PRODUCT := @@PRODUCT@@
+diff --git a/vsock-only/Makefile b/vsock-only/Makefile
+index 93dd61d..9765696 100644
+--- a/vsock-only/Makefile
++++ b/vsock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vsock
+ PRODUCT := ws

diff --git a/app-emulation/vmware-modules/vmware-modules-304.0.ebuild b/app-emulation/vmware-modules/vmware-modules-304.0.ebuild
new file mode 100644
index 0000000..9ac25d9
--- /dev/null
+++ b/app-emulation/vmware-modules/vmware-modules-304.0.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod user versionator udev
+
+PV_MAJOR=$(get_major_version)
+PV_MINOR=$(get_version_component_range 2)
+
+DESCRIPTION="VMware kernel modules"
+HOMEPAGE="http://www.vmware.com/"
+
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="-* ~amd64"
+IUSE="pax_kernel +vmci +vsock"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	|| ( =app-emulation/vmware-workstation-11.1.${PV_MINOR}* )"
+
+S=${WORKDIR}
+
+pkg_setup() {
+	CONFIG_CHECK="~HIGH_RES_TIMERS"
+	if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
+		CONFIG_CHECK="${CONFIG_CHECK} BKL"
+	fi
+	if use vmci ; then
+		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
+	else
+		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
+	fi
+	if use vsock ; then
+		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
+	else
+		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
+	fi
+
+	linux-info_pkg_setup
+
+	linux-mod_pkg_setup
+
+	VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+
+	VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
+	VMWARE_MODULE_LIST="vmblock vmmon vmnet"
+	use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
+	use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
+
+	VMWARE_MOD_DIR="${PN}-${PVR}"
+
+	BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
+
+	enewgroup "${VMWARE_GROUP}"
+	filter-flags -mfpmath=sse
+
+	for mod in ${VMWARE_MODULE_LIST}; do
+		MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
+	done
+}
+
+src_unpack() {
+	cd "${S}"
+	for mod in ${VMWARE_MODULE_LIST_ALL}; do
+		tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
+	done
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-00-dentry.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-01-inode.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-02-control.patch"
+	kernel_is ge 3 11 0 && epatch "${FILESDIR}/304-3.10-03-inline.patch"
+	kernel_is ge 3 11 0 && epatch "${FILESDIR}/304-3.11-00-readdir.patch"
+	kernel_is ge 3 11 0 && epatch "${FILESDIR}/304-3.11-01-filldir.patch"
+	kernel_is ge 3 15 0 && epatch "${FILESDIR}/304-3.15-00-vsock.patch"
+	kernel_is ge 3 18 0 && epatch "${FILESDIR}/304-3.18-00-version-redefined.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-00-compat-namei.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-01-dentry.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-02-vmblock-path.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-03-iovec.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-04-iovec.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-05-vmci_qpair.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-06-vsock.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/304-3.19-07-vsock.patch"
+
+	# Allow user patches so they can support RC kernels and whatever else
+	epatch_user
+}
+
+src_install() {
+	linux-mod_src_install
+	local udevrules="${T}/60-vmware.rules"
+	cat > "${udevrules}" <<-EOF
+		KERNEL=="vmci",  GROUP="vmware", MODE=660
+		KERNEL=="vmw_vmci",  GROUP="vmware", MODE=660
+		KERNEL=="vmmon", GROUP="vmware", MODE=660
+		KERNEL=="vsock", GROUP="vmware", MODE=660
+	EOF
+	udev_dorules "${udevrules}"
+}


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2015-07-10 23:42 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2015-07-10 23:42 UTC (permalink / raw
  To: gentoo-commits

commit:     b5fe5509592d54689ed4c4eb0633507bcda8219b
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Mon Jul  6 03:47:43 2015 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Mon Jul  6 03:47:43 2015 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=b5fe5509

adding some minor patches that were applied to previous versions
probably not 100% necessary, but they don't hurt either

Package-Manager: portage-2.2.20

 app-emulation/vmware-modules/files/304-apic.patch  |  12 +++
 .../vmware-modules/files/304-hardened.patch        | 113 +++++++++++++++++++++
 .../vmware-modules/files/304-netdevice.patch       |  24 +++++
 .../vmware-modules/vmware-modules-304.0.ebuild     |   4 +
 4 files changed, 153 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-apic.patch b/app-emulation/vmware-modules/files/304-apic.patch
new file mode 100644
index 0000000..66cd459
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-apic.patch
@@ -0,0 +1,12 @@
+diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
+index f1f4b10..c43242f 100644
+--- a/vmmon-only/linux/hostif.c
++++ b/vmmon-only/linux/hostif.c
+@@ -55,6 +55,7 @@
+ #include <linux/kthread.h>
+ #include <linux/wait.h>
+ 
++#include <asm/apic.h>
+ 
+ #include "vmware.h"
+ #include "x86apic.h"

diff --git a/app-emulation/vmware-modules/files/304-hardened.patch b/app-emulation/vmware-modules/files/304-hardened.patch
new file mode 100644
index 0000000..cc3e041
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-hardened.patch
@@ -0,0 +1,113 @@
+diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
+index b21dd44..960c2aa 100644
+--- a/vmmon-only/linux/driver.c
++++ b/vmmon-only/linux/driver.c
+@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
+ #endif
+ };
+ 
+-static struct file_operations vmuser_fops;
++static struct file_operations vmuser_fops = {
++   .owner = THIS_MODULE,
++   .poll = LinuxDriverPoll,
++#ifdef HAVE_UNLOCKED_IOCTL
++   .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
++#else
++   .ioctl = LinuxDriver_Ioctl,
++#endif
++#ifdef HAVE_COMPAT_IOCTL
++   .compat_ioctl = LinuxDriver_UnlockedIoctl,
++#endif
++   .open = LinuxDriver_Open,
++   .release = LinuxDriver_Close,
++   .mmap = LinuxDriverMmap
++};
++
+ static struct timer_list tscTimer;
+ 
+ /*
+@@ -357,27 +372,6 @@ init_module(void)
+    spin_lock_init(&linuxState.pollListLock);
+ #endif
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vmuser_fops, 0, sizeof vmuser_fops);
+-   vmuser_fops.owner = THIS_MODULE;
+-   vmuser_fops.poll = LinuxDriverPoll;
+-#ifdef HAVE_UNLOCKED_IOCTL
+-   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
+-#else
+-   vmuser_fops.ioctl = LinuxDriver_Ioctl;
+-#endif
+-#ifdef HAVE_COMPAT_IOCTL
+-   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
+-#endif
+-   vmuser_fops.open = LinuxDriver_Open;
+-   vmuser_fops.release = LinuxDriver_Close;
+-   vmuser_fops.mmap = LinuxDriverMmap;
+-
+ #ifdef VMX86_DEVEL
+    devel_init_module();
+    linuxState.minor = 0;
+diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
+index b12b982..40bd4cf 100644
+--- a/vmnet-only/driver.c
++++ b/vmnet-only/driver.c
+@@ -165,7 +165,22 @@ static long  VNetFileOpUnlockedIoctl(struct file * filp,
+                                      unsigned int iocmd, unsigned long ioarg);
+ #endif
+ 
+-static struct file_operations vnetFileOps;
++static struct file_operations vnetFileOps = {
++   .owner = THIS_MODULE,
++   .read = VNetFileOpRead,
++   .write = VNetFileOpWrite,
++   .poll = VNetFileOpPoll,
++#ifdef HAVE_UNLOCKED_IOCTL
++   .unlocked_ioctl = VNetFileOpUnlockedIoctl,
++#else
++   .ioctl = VNetFileOpIoctl,
++#endif
++#ifdef HAVE_COMPAT_IOCTL
++   .compat_ioctl = VNetFileOpUnlockedIoctl,
++#endif
++   .open = VNetFileOpOpen,
++   .release = VNetFileOpClose
++};
+ 
+ /*
+  * Utility functions
+@@ -476,28 +491,6 @@ init_module(void)
+       goto err_proto;
+    }
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vnetFileOps, 0, sizeof vnetFileOps);
+-   vnetFileOps.owner = THIS_MODULE;
+-   vnetFileOps.read = VNetFileOpRead;
+-   vnetFileOps.write = VNetFileOpWrite;
+-   vnetFileOps.poll = VNetFileOpPoll;
+-#ifdef HAVE_UNLOCKED_IOCTL
+-   vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
+-#else
+-   vnetFileOps.ioctl = VNetFileOpIoctl;
+-#endif
+-#ifdef HAVE_COMPAT_IOCTL
+-   vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
+-#endif
+-   vnetFileOps.open = VNetFileOpOpen;
+-   vnetFileOps.release = VNetFileOpClose;
+-
+    retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
+    if (retval) {
+       LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",

diff --git a/app-emulation/vmware-modules/files/304-netdevice.patch b/app-emulation/vmware-modules/files/304-netdevice.patch
new file mode 100644
index 0000000..35231a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-netdevice.patch
@@ -0,0 +1,24 @@
+diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
+index 7a56304..9ff4548 100644
+--- a/vmnet-only/compat_netdevice.h
++++ b/vmnet-only/compat_netdevice.h
+@@ -47,6 +47,19 @@
+ #   define net_device device
+ #endif
+ 
++/* it looks like these have been removed from the kernel 3.1
++ * probably because the "transition" is considered complete.
++ * so to keep this source compatible we just redefine them like they were
++ * previously
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
++#define HAVE_ALLOC_NETDEV		/* feature macro: alloc_xxxdev
++					   functions are available. */
++#define HAVE_FREE_NETDEV		/* free_netdev() */
++#define HAVE_NETDEV_PRIV		/* netdev_priv() */
++#define HAVE_NETIF_QUEUE
++#define HAVE_NET_DEVICE_OPS
++#endif
+ 
+ /*
+  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting

diff --git a/app-emulation/vmware-modules/vmware-modules-304.0.ebuild b/app-emulation/vmware-modules/vmware-modules-304.0.ebuild
index 9ac25d9..8be7242 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.0.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.0.ebuild
@@ -74,6 +74,10 @@ src_unpack() {
 src_prepare() {
 	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
 	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
+	use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
+
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-00-dentry.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-01-inode.patch"
 	kernel_is ge 3 10 0 && epatch "${FILESDIR}/304-3.10-02-control.patch"


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-03-17  1:44 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2016-03-17  1:44 UTC (permalink / raw
  To: gentoo-commits

commit:     0ecc3a12322a6ed9456cbb5d5d9136a2699280a8
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Thu Mar 17 01:44:05 2016 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Mar 17 01:44:05 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=0ecc3a12

app-emulation/vmware-modules:
now vmware-modules:11 compiles cleanly on 4.2

Package-Manager: portage-2.2.26

 .../vmware-modules/files/304-4.2-00-inode_op.patch | 45 +++++++++++++
 .../files/304-4.2-01-vmci_vmalloc.patch            | 13 ++++
 .../vmware-modules/files/304-4.2-02-vsock.patch    | 77 ++++++++++++++++++++++
 .../vmware-modules/files/304-4.2-03-vsock.patch    | 14 ++++
 .../vmware-modules/vmware-modules-304.3.ebuild     |  4 ++
 5 files changed, 153 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch b/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch
new file mode 100644
index 0000000..e6f2acb
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch
@@ -0,0 +1,45 @@
+diff -rupN vmblock-only/linux/inode.c vmblock-only.new/linux/inode.c
+--- vmblock-only/linux/inode.c	2016-03-16 21:24:25.771034759 -0400
++++ vmblock-only.new/linux/inode.c	2016-03-16 21:26:22.697036311 -0400
+@@ -44,7 +44,9 @@ static struct dentry *InodeOpLookup(stru
+ static int InodeOpReadlink(struct dentry *, char __user *, int);
+ #endif
+ 
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+ #else
+ static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+@@ -220,7 +222,9 @@ InodeOpReadlink(struct dentry *dentry,
+  *
+  *----------------------------------------------------------------------------
+  */
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie)
++#else
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *
+ #else
+@@ -228,6 +232,7 @@ static int
+ #endif
+ InodeOpFollowlink(struct dentry *dentry,  // IN : dentry of symlink
+                   struct nameidata *nd)   // OUT: stores result
++#endif
+ {
+    int ret;
+    VMBlockInodeInfo *iinfo;
+@@ -244,7 +249,11 @@ InodeOpFollowlink(struct dentry *dentry,
+       goto out;
+    }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++   return *cookie = (char *)(iinfo->name);  
++#else
+    nd_set_link(nd, iinfo->name);
++#endif
+ 
+ out:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

diff --git a/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch b/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch
new file mode 100644
index 0000000..2296c06
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch
@@ -0,0 +1,13 @@
+diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c
+--- vmci-only/linux/driver.c	2015-11-03 19:27:55.000000000 -0500
++++ vmci-only.new/linux/driver.c	2016-03-16 21:30:47.646039829 -0400
+@@ -26,6 +26,9 @@
+ 
+ #include <linux/file.h>
+ #include <linux/fs.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++#include <linux/vmalloc.h>
++#endif
+ #include <linux/init.h>
+ #if defined(__x86_64__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
+ #   include <linux/ioctl32.h>

diff --git a/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch b/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch
new file mode 100644
index 0000000..bdac109
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch
@@ -0,0 +1,77 @@
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2016-03-16 21:31:24.582040320 -0400
++++ vsock-only.new/linux/af_vsock.c	2016-03-16 21:37:22.140045067 -0400
+@@ -231,7 +231,16 @@ static int VSockVmciStreamSetsockopt(str
+ 
+ static int VSockVmciStreamGetsockopt(struct socket *sock, int level, int optname,
+                                      char __user *optval, int __user * optlen);
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++static int VSockVmciDgramSendmsg(
++                                 struct socket *sock, struct msghdr *msg, size_t len);
++static int VSockVmciDgramRecvmsg(struct socket *sock,
++                                 struct msghdr *msg, size_t len, int flags);
++static int VSockVmciStreamSendmsg(
++                                 struct socket *sock, struct msghdr *msg, size_t len);
++static int VSockVmciStreamRecvmsg(struct socket *sock,
++                                 struct msghdr *msg, size_t len, int flags);
++#else
+ static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
+                                  struct socket *sock, struct msghdr *msg, size_t len);
+ static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
+@@ -240,6 +249,7 @@ static int VSockVmciStreamSendmsg(struct
+                                  struct socket *sock, struct msghdr *msg, size_t len);
+ static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
+                                  struct msghdr *msg, size_t len, int flags);
++#endif
+ 
+ static int VSockVmciCreate(
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+@@ -4210,7 +4220,11 @@ VSockVmciShutdown(struct socket *sock,
+  */
+ 
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++VSockVmciDgramSendmsg(
++#else
+ VSockVmciDgramSendmsg(struct kiocb *kiocb,          // UNUSED
++#endif
+                       struct socket *sock,          // IN: socket to send on
+                       struct msghdr *msg,           // IN: message to send
+                       size_t len)                   // IN: length of message
+@@ -4540,7 +4554,11 @@ VSockVmciStreamGetsockopt(struct socket
+  */
+ 
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++VSockVmciStreamSendmsg(
++#else
+ VSockVmciStreamSendmsg(struct kiocb *kiocb,          // UNUSED
++#endif
+                        struct socket *sock,          // IN: socket to send on
+                        struct msghdr *msg,           // IN: message to send
+                        size_t len)                   // IN: length of message
+@@ -4709,7 +4727,11 @@ out:
+  */
+ 
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++VSockVmciDgramRecvmsg(
++#else
+ VSockVmciDgramRecvmsg(struct kiocb *kiocb,          // UNUSED
++#endif
+                       struct socket *sock,          // IN: socket to receive from
+                       struct msghdr *msg,           // IN/OUT: message to receive into
+                       size_t len,                   // IN: length of receive buffer
+@@ -4804,7 +4826,11 @@ out:
+  */
+ 
+ static int
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++VSockVmciStreamRecvmsg(
++#else
+ VSockVmciStreamRecvmsg(struct kiocb *kiocb,          // UNUSED
++#endif
+                        struct socket *sock,          // IN: socket to receive from
+                        struct msghdr *msg,           // IN/OUT: message to receive into
+                        size_t len,                   // IN: length of receive buffer

diff --git a/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch b/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch
new file mode 100644
index 0000000..a2504a6
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch
@@ -0,0 +1,14 @@
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2016-03-16 21:38:01.401045589 -0400
++++ vsock-only.new/linux/af_vsock.c	2016-03-16 21:39:32.529046799 -0400
+@@ -2836,7 +2836,9 @@ __VSockVmciCreate(struct net *net,
+     * network namespace, and the option to zero the sock was dropped.
+     *
+     */
+-#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++   sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto, 1);
++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12)
+    sk = sk_alloc(vsockVmciFamilyOps.family, priority,
+                  vsockVmciProto.slab_obj_size, vsockVmciProto.slab);
+ #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)

diff --git a/app-emulation/vmware-modules/vmware-modules-304.3.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3.ebuild
index 0980673..a77203d 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.3.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.3.ebuild
@@ -95,6 +95,10 @@ src_prepare() {
 	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
 	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
 	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
+	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-00-inode_op.patch"
+	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-01-vmci_vmalloc.patch"
+	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-02-vsock.patch"
+	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-03-vsock.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-03-17  2:03 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2016-03-17  2:03 UTC (permalink / raw
  To: gentoo-commits

commit:     1f0fe410a387b4dfeb5b8633576023135ca9ddc4
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Thu Mar 17 02:03:05 2016 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Thu Mar 17 02:03:05 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=1f0fe410

app-emulation/vmware-modules:
compiles on 4.3 kernels :-)

Package-Manager: portage-2.2.26

 .../files/304-4.3-00-misc_deregister.patch         | 34 ++++++++++++++++++++++
 ...304.3.ebuild => vmware-modules-304.3-r1.ebuild} |  1 +
 2 files changed, 35 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch b/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch
new file mode 100644
index 0000000..32d960d
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch
@@ -0,0 +1,34 @@
+diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c
+--- vmci-only/linux/driver.c	2016-03-16 21:59:30.229062702 -0400
++++ vmci-only.new/linux/driver.c	2016-03-16 21:58:35.452061974 -0400
+@@ -2469,7 +2469,9 @@ vmci_init(void)
+ static void __exit
+ vmci_exit(void)
+ {
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0)
+    int retval;
++#endif
+ 
+    if (guestDeviceInit) {
+       pci_unregister_driver(&vmci_driver);
+
+diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c
+--- vmci-only/linux/driver.c	2016-03-16 21:53:24.184057841 -0400
++++ vmci-only.new/linux/driver.c	2016-03-16 21:54:37.558058816 -0400
+@@ -2482,12 +2482,16 @@ vmci_exit(void)
+ 
+       VMCI_HostCleanup();
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
++      misc_deregister(&linuxState.misc);
++#else
+       retval = misc_deregister(&linuxState.misc);
+       if (retval) {
+          Warning(LGPFX "Module %s: error unregistering\n", VMCI_MODULE_NAME);
+       } else {
+          Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME);
+       }
++#endif
+ 
+       hostDeviceInit = FALSE;
+    }

diff --git a/app-emulation/vmware-modules/vmware-modules-304.3.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
similarity index 97%
rename from app-emulation/vmware-modules/vmware-modules-304.3.ebuild
rename to app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
index a77203d..766eb32 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.3.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
@@ -99,6 +99,7 @@ src_prepare() {
 	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-01-vmci_vmalloc.patch"
 	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-02-vsock.patch"
 	kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-03-vsock.patch"
+	kernel_is ge 4 3 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.3-00-misc_deregister.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-03-18  3:16 Evan Teran
  0 siblings, 0 replies; 19+ messages in thread
From: Evan Teran @ 2016-03-18  3:16 UTC (permalink / raw
  To: gentoo-commits

commit:     638abe578790e0a4d965e712797faee7a47a7019
Author:     Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Fri Mar 18 03:13:10 2016 +0000
Commit:     Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Fri Mar 18 03:13:10 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=638abe57

app-emulation/vmware-modules: initial support for vmware-12

Package-Manager: portage-2.2.26

 .../vmware-modules/files/308-3.10-00-dentry.patch  |  43 ++++++
 .../vmware-modules/files/308-3.10-01-inode.patch   |  94 +++++++++++++
 .../vmware-modules/files/308-3.10-02-control.patch |  57 ++++++++
 .../vmware-modules/files/308-3.10-03-inline.patch  |  14 ++
 .../vmware-modules/files/308-3.11-00-readdir.patch |  41 ++++++
 .../vmware-modules/files/308-3.11-01-filldir.patch |  53 ++++++++
 .../vmware-modules/files/308-3.15-00-vsock.patch   |  46 +++++++
 .../files/308-3.18-00-version-redefined.patch      |  25 ++++
 .../files/308-3.19-00-compat-namei.patch           |  24 ++++
 .../files/308-3.19-02-vmblock-path.patch           |  67 +++++++++
 .../vmware-modules/files/308-3.19-04-iovec.patch   |  59 ++++++++
 .../files/308-3.19-05-vmci_qpair.patch             |  25 ++++
 .../vmware-modules/files/308-3.19-06-vsock.patch   |  16 +++
 .../vmware-modules/files/308-3.19-07-vsock.patch   |  13 ++
 .../vmware-modules/files/308-4.01-00-vsock.patch   |  61 +++++++++
 .../files/308-4.02-00-nd_set_link.patch            |  56 ++++++++
 .../files/308-4.02-01-sk_alloc.patch               |  22 +++
 .../files/308-4.03-00-vmci-misc_deregister.patch   |  27 ++++
 .../files/308-4.03-00-vmmon-misc_deregister.patch  |  14 ++
 .../files/308-4.05-00-vmblock-follow_link.patch    |  56 ++++++++
 app-emulation/vmware-modules/files/308-apic.patch  |  12 ++
 .../vmware-modules/files/308-hardened.patch        |  89 ++++++++++++
 .../files/308-makefile-include.patch               |  65 +++++++++
 .../files/308-makefile-kernel-dir.patch            |  85 ++++++++++++
 .../vmware-modules/files/308-netdevice.patch       |  24 ++++
 .../vmware-modules/vmware-modules-308.1.0.ebuild   | 149 +++++++++++++++++++++
 26 files changed, 1237 insertions(+)

diff --git a/app-emulation/vmware-modules/files/308-3.10-00-dentry.patch b/app-emulation/vmware-modules/files/308-3.10-00-dentry.patch
new file mode 100644
index 0000000..5cc445f
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.10-00-dentry.patch
@@ -0,0 +1,43 @@
+Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
+--- a/vmblock-only/linux/dentry.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/dentry.c	2015-02-24 03:58:06.038605919 +0300
+@@ -32,7 +32,11 @@
+ #include "block.h"
+ 
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+ static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
++#else
++static int DentryOpRevalidate(struct dentry *dentry, unsigned int);
++#endif
+ 
+ struct dentry_operations LinkDentryOps = {
+    .d_revalidate = DentryOpRevalidate,
+@@ -58,9 +62,12 @@
+  *----------------------------------------------------------------------------
+  */
+ 
+-static int
+-DentryOpRevalidate(struct dentry *dentry,  // IN: dentry revalidating
+-                   struct nameidata *nd)   // IN: lookup flags & intent
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd)
++#else
++static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags)
++#endif
++
+ {
+    VMBlockInodeInfo *iinfo;
+    struct nameidata actualNd;
+@@ -101,7 +108,11 @@
+    if (actualDentry &&
+        actualDentry->d_op &&
+        actualDentry->d_op->d_revalidate) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
++      return actualDentry->d_op->d_revalidate(actualDentry, flags);
++#else
+       return actualDentry->d_op->d_revalidate(actualDentry, nd);
++#endif
+    }
+ 
+    if (compat_path_lookup(iinfo->name, 0, &actualNd)) {

diff --git a/app-emulation/vmware-modules/files/308-3.10-01-inode.patch b/app-emulation/vmware-modules/files/308-3.10-01-inode.patch
new file mode 100644
index 0000000..e12d84d
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.10-01-inode.patch
@@ -0,0 +1,94 @@
+Minor change the API, now it just gets passed flags instead of a pointer to the nameidata
+Properly initializes UID/GID with repsect to namespaces
+Some changes the readlink/setlink APIs
+--- a/vmblock-only/linux/inode.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/inode.c	2015-02-24 03:58:06.039605762 +0300
+@@ -35,9 +35,15 @@
+ 
+ 
+ /* Inode operations */
+-static struct dentry *InodeOpLookup(struct inode *dir,
+-                                    struct dentry *dentry, struct nameidata *nd);
++
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd);
+ static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
++#else
++static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int);
++static int InodeOpReadlink(struct dentry *, char __user *, int);
++#endif
++
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+ #else
+@@ -49,12 +55,15 @@
+    .lookup = InodeOpLookup,
+ };
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
+ static struct inode_operations LinkInodeOps = {
++#else
++struct inode_operations LinkInodeOps = {
++#endif
+    .readlink    = InodeOpReadlink,
+    .follow_link = InodeOpFollowlink,
+ };
+ 
+-
+ /*
+  *----------------------------------------------------------------------------
+  *
+@@ -75,7 +84,11 @@
+ static struct dentry *
+ InodeOpLookup(struct inode *dir,      // IN: parent directory's inode
+               struct dentry *dentry,  // IN: dentry to lookup
+-              struct nameidata *nd)   // IN: lookup intent and information
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
++	      struct nameidata *nd)   // IN: lookup intent and information
++#else
++              unsigned int flags)
++#endif
+ {
+    char *filename;
+    struct inode *inode;
+@@ -135,7 +148,12 @@
+    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
+    inode->i_version = 1;
+    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+    inode->i_uid = inode->i_gid = 0;
++#else
++   inode->i_gid = make_kgid(current_user_ns(), 0);
++   inode->i_uid = make_kuid(current_user_ns(), 0);
++#endif
+    inode->i_op = &LinkInodeOps;
+ 
+    d_add(dentry, inode);
+@@ -177,7 +195,12 @@
+       return -EINVAL;
+    }
+ 
+-   return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
++	return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#else
++       return readlink_copy(buffer, buflen, iinfo->name);
++#endif
++
+ }
+ 
+ 
+@@ -221,7 +244,7 @@
+       goto out;
+    }
+ 
+-   ret = vfs_follow_link(nd, iinfo->name);
++   nd_set_link(nd, iinfo->name);
+ 
+ out:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+@@ -230,3 +253,4 @@
+    return ret;
+ #endif
+ }
++

diff --git a/app-emulation/vmware-modules/files/308-3.10-02-control.patch b/app-emulation/vmware-modules/files/308-3.10-02-control.patch
new file mode 100644
index 0000000..9288353
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.10-02-control.patch
@@ -0,0 +1,57 @@
+The API to create proc entries now takes the file ops structure directly, instead of being set after the fact
+Using new __getname/__putname API
+--- a/vmblock-only/linux/control.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/linux/control.c	2015-02-24 03:58:06.038605919 +0300
+@@ -208,9 +208,11 @@
+    VMBlockSetProcEntryOwner(controlProcMountpoint);
+ 
+    /* Create /proc/fs/vmblock/dev */
+-   controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
+-                                        VMBLOCK_CONTROL_MODE,
+-                                        controlProcDirEntry);
++   controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, 
++				  VMBLOCK_CONTROL_MODE,
++                                  controlProcDirEntry, 
++				  &ControlFileOps);
++
+    if (!controlProcEntry) {
+       Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
+       remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
+@@ -218,7 +220,10 @@
+       return -EINVAL;
+    }
+ 
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0)
+    controlProcEntry->proc_fops = &ControlFileOps;
++#endif
++
+    return 0;
+ }
+
+@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf,
+    int i;
+    int retval;
+ 
+-   name = getname(buf);
++   name = __getname();
+    if (IS_ERR(name)) {
+       return PTR_ERR(name);
+    }
+ 
++   i = strncpy_from_user(name, buf, PATH_MAX);
++   if (i < 0 || i == PATH_MAX) {
++      __putname(name);
++      return -EINVAL;
++   }
++
+    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {
+       name[i] = '\0';
+    }
+ 
+    retval = i < 0 ? -EINVAL : blockOp(name, blocker);
+ 
+-   putname(name);
++   __putname(name);
+ 
+    return retval;
+ }

diff --git a/app-emulation/vmware-modules/files/308-3.10-03-inline.patch b/app-emulation/vmware-modules/files/308-3.10-03-inline.patch
new file mode 100644
index 0000000..fa8f36a
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.10-03-inline.patch
@@ -0,0 +1,14 @@
+Hushes a warning
+--- a/vmmon-only/linux/driver.c	2015-02-07 03:54:16.000000000 +0300
++++ c/vmmon-only/linux/driver.c	2015-02-24 03:58:06.042605293 +0300
+@@ -1328,7 +1328,9 @@
+  *-----------------------------------------------------------------------------
+  */
+ 
+-__attribute__((always_inline)) static Bool
++#include <linux/compiler-gcc.h>
++
++__always_inline static Bool
+ LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min
+ {
+    TSCDelta tscDelta;

diff --git a/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch
new file mode 100644
index 0000000..b2f76d3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch
@@ -0,0 +1,41 @@
+replaces usage of vfs_readdir with iterate_dir. origionally found here:
+https://bugs.gentoo.org/show_bug.cgi?id=508204
+
+diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
+--- vmblock-only/linux/file.c	2013-11-05 23:33:26.000000000 -0500
++++ vmblock-only/linux/file.c	2014-04-26 10:58:03.062635343 -0400
+@@ -166,11 +166,9 @@
+ 
+ static int
+ FileOpReaddir(struct file *file,  // IN
+-              void *dirent,       // IN
+-              filldir_t filldir)  // IN
++		struct dir_context *ctx)
+ {
+    int ret;
+-   FilldirInfo info;
+    struct file *actualFile;
+ 
+    if (!file) {
+@@ -184,11 +182,8 @@
+       return -EINVAL;
+    }
+ 
+-   info.filldir = filldir;
+-   info.dirent = dirent;
+-
+    actualFile->f_pos = file->f_pos;
+-   ret = vfs_readdir(actualFile, Filldir, &info);
++   ret = iterate_dir(actualFile, ctx);
+    file->f_pos = actualFile->f_pos;
+ 
+    return ret;
+@@ -237,7 +232,7 @@
+ 
+ 
+ struct file_operations RootFileOps = {
+-   .readdir = FileOpReaddir,
++   .iterate = FileOpReaddir,
+    .open    = FileOpOpen,
+    .release = FileOpRelease,
+ };

diff --git a/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch
new file mode 100644
index 0000000..2eec99b
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch
@@ -0,0 +1,53 @@
+simply remove the code for Filldir since it is no longer used with the new 
+iterate_dir API
+
+diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
+--- vmblock-only/linux/file.c	2014-10-07 23:22:46.832469618 -0400
++++ vmblock-only.new/linux/file.c	2014-10-07 23:24:35.276472720 -0400
+@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
+ typedef ino_t inode_num_t;
+ #endif
+ 
+-/* Specifically for our filldir_t callback */
+-typedef struct FilldirInfo {
+-   filldir_t filldir;
+-   void *dirent;
+-} FilldirInfo;
+-
+-
+-/*
+- *----------------------------------------------------------------------------
+- *
+- * Filldir --
+- *
+- *    Callback function for readdir that we use in place of the one provided.
+- *    This allows us to specify that each dentry is a symlink, but pass through
+- *    everything else to the original filldir function.
+- *
+- * Results:
+- *    Original filldir's return value.
+- *
+- * Side effects:
+- *    Directory information gets copied to user's buffer.
+- *
+- *----------------------------------------------------------------------------
+- */
+-
+-static int
+-Filldir(void *buf,              // IN: Dirent buffer passed from FileOpReaddir
+-        const char *name,       // IN: Dirent name
+-        int namelen,            // IN: len of dirent's name
+-        loff_t offset,          // IN: Offset
+-        inode_num_t ino,        // IN: Inode number of dirent
+-        unsigned int d_type)    // IN: Type of file
+-{
+-   FilldirInfo *info = buf;
+-
+-   /* Specify DT_LNK regardless */
+-   return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
+-}
+-
+-
+ /* File operations */
+ 
+ /*

diff --git a/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch b/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch
new file mode 100644
index 0000000..9e8d9d1
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch
@@ -0,0 +1,46 @@
+removing the no longer existing second parameter to sk_data_ready
+doesn't seem it ever served a purpose.
+
+diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
+--- vsock-only/linux/notify.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notify.c	2014-10-05 23:46:47.943304728 -0400
+@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
+    vsk = vsock_sk(sk);
+    PKT_FIELD(vsk, sentWaitingRead) = FALSE;
+ #endif
+-
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
+--- vsock-only/linux/notifyQState.c	2013-11-05 23:33:27.000000000 -0500
++++ vsock-only.new/linux/notifyQState.c	2014-10-05 23:46:33.231303931 -0400
+@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
+                      struct sockaddr_vm *dst,    // IN: unused
+                      struct sockaddr_vm *src)    // IN: unused
+ {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++   sk->sk_data_ready(sk);
++#else
+    sk->sk_data_ready(sk, 0);
++#endif
+ }
+ 
+ 
+@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
+       }
+ 
+       /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
++      sk->sk_data_ready(sk);
++#else
+       sk->sk_data_ready(sk, 0);
++#endif
+    }
+ 
+    return err;

diff --git a/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch
new file mode 100644
index 0000000..22d6325
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch
@@ -0,0 +1,25 @@
+Hushes some (but not all warnings) relating to redefinitions of this define
+--- a/vmci-only/shared/vm_device_version.h	2015-02-07 03:11:55.000000000 +0300
++++ c/vmci-only/shared/vm_device_version.h	2015-02-24 03:58:06.041605450 +0300
+@@ -53,7 +53,9 @@
+  *    VMware HD Audio codec
+  *    VMware HD Audio controller
+  */
++#ifndef PCI_VENDOR_ID_VMWARE
+ #define PCI_VENDOR_ID_VMWARE                    0x15AD
++#endif
+ #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
+ #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
+ #define PCI_DEVICE_ID_VMWARE_VGA                0x0711
+--- a/vmnet-only/vm_device_version.h	2015-02-07 03:54:16.000000000 +0300
++++ c/vmnet-only/vm_device_version.h	2015-02-24 03:58:06.044604981 +0300
+@@ -53,7 +53,9 @@
+  *    VMware HD Audio codec
+  *    VMware HD Audio controller
+  */
++#ifndef PCI_VENDOR_ID_VMWARE                    
+ #define PCI_VENDOR_ID_VMWARE                    0x15AD
++#endif
+ #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
+ #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
+ #define PCI_DEVICE_ID_VMWARE_VGA                0x0711

diff --git a/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch
new file mode 100644
index 0000000..0182077
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch
@@ -0,0 +1,24 @@
+A copy of this since it is no longer exported by the kernel headers
+--- a/vmblock-only/shared/compat_namei.h	2015-02-07 03:11:55.000000000 +0300
++++ c/vmblock-only/shared/compat_namei.h	2015-02-24 03:51:25.235286047 +0300
+@@ -21,6 +21,20 @@
+ 
+ #include <linux/namei.h>
+ 
++/* Copy-n-paste from kernel's source/fs/namei.c */
++struct nameidata {
++         struct path     path;
++         struct qstr     last;
++         struct path     root;
++         struct inode    *inode; /* path.dentry.d_inode */
++         unsigned int    flags;
++         unsigned        seq, m_seq;
++         int             last_type;
++         unsigned        depth;
++         struct file     *base;
++         char *saved_names[MAX_NESTED_LINKS + 1];
++};
++
+ /*
+  * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
+  * struct. They were both replaced with a struct path.

diff --git a/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch
new file mode 100644
index 0000000..178d147
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch
@@ -0,0 +1,67 @@
+Sources:
+https://531682.bugs.gentoo.org/attachment.cgi?id=396484
+https://531682.bugs.gentoo.org/attachment.cgi?id=396482
+diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
+--- vmblock-only.orig/linux/dentry.c	2015-02-14 18:05:46.000000000 -0500
++++ vmblock-only/linux/dentry.c	2015-02-14 18:09:59.000000000 -0500
+@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
+                    unsigned int flags)   // IN: lookup flags & intent
+ {
+    VMBlockInodeInfo *iinfo;
+-   struct nameidata actualNd;
++   struct path actualNd;
+    struct dentry *actualDentry;
+    int ret;
+ 
+diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
+--- vmblock-only.orig/linux/filesystem.c	2014-11-20 19:29:15.000000000 -0500
++++ vmblock-only/linux/filesystem.c	2015-02-14 18:10:49.000000000 -0500
+@@ -322,7 +322,7 @@ Iget(struct super_block *sb,    // IN: f
+ {
+    VMBlockInodeInfo *iinfo;
+    struct inode *inode;
+-   struct nameidata actualNd;
++   struct path actualNd;
+ 
+    ASSERT(sb);
+ 
+diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
+--- vmblock-only.orig/shared/compat_namei.h	2014-11-20 19:29:15.000000000 -0500
++++ vmblock-only/shared/compat_namei.h	2015-02-14 18:08:38.000000000 -0500
+@@ -26,21 +26,21 @@
+  * struct. They were both replaced with a struct path.
+  */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+-#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
++#define compat_vmw_nd_to_dentry(nd) (nd).dentry
+ #else
+ #define compat_vmw_nd_to_dentry(nd) (nd).dentry
+ #endif
+ 
+ /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
+-#define compat_path_release(nd) path_put(&(nd)->path)
++#define compat_path_release(nd) path_put(nd)
+ #else
+ #define compat_path_release(nd) path_release(nd)
+ #endif
+ 
+ /* path_lookup was removed in 2.6.39 merge window VFS merge */
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
+-#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, &((nd)->path))
++#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, nd)
+ #else
+ #define compat_path_lookup(name, flags, nd)     path_lookup(name, flags, nd)
+ #endif
+diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
+--- vmblock-only.orig/linux/file.c	2015-02-11 12:18:29.000000000 -0500
++++ vmblock-only/linux/file.c	2015-02-11 12:41:41.000000000 -0500
+@@ -92,7 +92,7 @@
+     * and that would try to acquire the inode's semaphore; if the two inodes
+     * are the same we'll deadlock.
+     */
+-   if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
++   if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
+       Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
+       if (filp_close(actualFile, current->files) < 0) {
+          Warning("FileOpOpen: unable to close opened file.\n");

diff --git a/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch
new file mode 100644
index 0000000..83f0cc8
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch
@@ -0,0 +1,59 @@
+Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
+--- a/vmci-only/linux/vmciKernelIf.c	2015-02-07 03:11:55.000000000 +0300
++++ c/vmci-only/linux/vmciKernelIf.c	2015-02-24 03:58:06.041605450 +0300
+@@ -40,6 +40,7 @@
+ #include <linux/socket.h>       /* For memcpy_{to,from}iovec(). */
+ #include <linux/vmalloc.h>
+ #include <linux/wait.h>
++#include <linux/skbuff.h>
+ 
+ #include "compat_highmem.h"
+ #include "compat_interrupt.h"
+@@ -1196,21 +1197,21 @@
+       } else {
+          toCopy = size - bytesCopied;
+       }
+-
++      /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */
+       if (isIovec) {
+-         struct iovec *iov = (struct iovec *)src;
+-         int err;
++         struct msghdr *msg = (struct msghdr *)src;
++         int err;
+ 
+-         /* The iovec will track bytesCopied internally. */
+-         err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
+-         if (err != 0) {
+-            if (kernelIf->host) {
+-               kunmap(kernelIf->u.h.page[pageIndex]);
++         /* The iovec will track bytes_copied internally. */
++         err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
++         if (err != 0) {
++            if (kernelIf->host)
++               kunmap(kernelIf->u.h.page[pageIndex]);
++               return VMCI_ERROR_INVALID_ARGS;
+             }
+-            return VMCI_ERROR_INVALID_ARGS;
+-         }
+-      } else {
+-         memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy);
++        } else {
++            memcpy((u8 *)va + pageOffset,
++                   (u8 *)src + bytesCopied, toCopy);
+       }
+ 
+       bytesCopied += toCopy;
+@@ -1273,11 +1274,11 @@
+       }
+ 
+       if (isIovec) {
+-         struct iovec *iov = (struct iovec *)dest;
++	  struct msghdr *msg = (struct msghdr *)dest;
+          int err;
+ 
+          /* The iovec will track bytesCopied internally. */
+-         err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
++	  err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
+          if (err != 0) {
+             if (kernelIf->host) {
+                kunmap(kernelIf->u.h.page[pageIndex]);

diff --git a/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch
new file mode 100644
index 0000000..4dec3c4
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch
@@ -0,0 +1,25 @@
+Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
+diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
+--- vsock-only.old/linux/af_vsock.c     2015-05-06 20:41:47.684046762 -0400
++++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
+@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
+        * able to send.
+        */
+ 
+-      written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
++      written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
+                                   len - totalWritten, 0);
+       if (written < 0) {
+          err = -ENOMEM;
+@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
+          }
+ 
+          if (flags & MSG_PEEK) {
+-            read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
++            read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
+          } else {
+-            read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
++            read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
+          }
+ 
+          if (read < 0) {

diff --git a/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch
new file mode 100644
index 0000000..9a2096e
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch
@@ -0,0 +1,16 @@
+Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2015-05-05 11:31:35.710099711 -0400
++++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:36:33.260115840 -0400
+@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
+    }
+ 
+    /* Place the datagram payload in the user's iovec. */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
+    err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
++#else
++   err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
++#endif
+    if (err) {
+       goto out;
+    }

diff --git a/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch
new file mode 100644
index 0000000..6aec2cd
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch
@@ -0,0 +1,13 @@
+Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that.
+diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
+--- vsock-only/linux/af_vsock.c	2015-05-05 11:26:05.145081792 -0400
++++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:30:54.304097466 -0400
+@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
+       goto out;
+    }
+ 
+-   memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
++   memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
+ 
+    dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
+    dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);

diff --git a/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch b/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch
new file mode 100644
index 0000000..5735cd5
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch
@@ -0,0 +1,61 @@
+--- vsock-only/linux/af_vsock.c	2015-05-03 00:55:58.955156116 +0200
++++ vsock-only/linux/af_vsock.c.new	2015-05-03 01:01:14.305173750 +0200
+@@ -233,14 +233,10 @@
+ static int VSockVmciStreamGetsockopt(struct socket *sock, int level, int optname,
+                                      char __user *optval, int __user * optlen);
+ 
+-static int VSockVmciDgramSendmsg(struct kiocb *kiocb,
+-                                 struct socket *sock, struct msghdr *msg, size_t len);
+-static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock,
+-                                 struct msghdr *msg, size_t len, int flags);
+-static int VSockVmciStreamSendmsg(struct kiocb *kiocb,
+-                                 struct socket *sock, struct msghdr *msg, size_t len);
+-static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock,
+-                                 struct msghdr *msg, size_t len, int flags);
++static int VSockVmciDgramSendmsg(struct socket *sock, struct msghdr *msg, size_t len);
++static int VSockVmciDgramRecvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags);
++static int VSockVmciStreamSendmsg(struct socket *sock, struct msghdr *msg, size_t len);
++static int VSockVmciStreamRecvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags);
+ 
+ static int VSockVmciCreate(
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24)
+@@ -4211,8 +4207,7 @@
+  */
+ 
+ static int
+-VSockVmciDgramSendmsg(struct kiocb *kiocb,          // UNUSED
+-                      struct socket *sock,          // IN: socket to send on
++VSockVmciDgramSendmsg(struct socket *sock,          // IN: socket to send on
+                       struct msghdr *msg,           // IN: message to send
+                       size_t len)                   // IN: length of message
+ {
+@@ -4541,8 +4536,7 @@
+  */
+ 
+ static int
+-VSockVmciStreamSendmsg(struct kiocb *kiocb,          // UNUSED
+-                       struct socket *sock,          // IN: socket to send on
++VSockVmciStreamSendmsg(struct socket *sock,          // IN: socket to send on
+                        struct msghdr *msg,           // IN: message to send
+                        size_t len)                   // IN: length of message
+ {
+@@ -4710,8 +4704,7 @@
+  */
+ 
+ static int
+-VSockVmciDgramRecvmsg(struct kiocb *kiocb,          // UNUSED
+-                      struct socket *sock,          // IN: socket to receive from
++VSockVmciDgramRecvmsg(struct socket *sock,          // IN: socket to receive from
+                       struct msghdr *msg,           // IN/OUT: message to receive into
+                       size_t len,                   // IN: length of receive buffer
+                       int flags)                    // IN: receive flags
+@@ -4803,8 +4796,7 @@
+  */
+ 
+ static int
+-VSockVmciStreamRecvmsg(struct kiocb *kiocb,          // UNUSED
+-                       struct socket *sock,          // IN: socket to receive from
++VSockVmciStreamRecvmsg(struct socket *sock,          // IN: socket to receive from
+                        struct msghdr *msg,           // IN/OUT: message to receive into
+                        size_t len,                   // IN: length of receive buffer
+                        int flags)                    // IN: receive flags

diff --git a/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch b/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch
new file mode 100644
index 0000000..66609bf
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch
@@ -0,0 +1,56 @@
+--- vmci-only/linux/driver.c	2015-02-07 01:11:55.000000000 +0100
++++ vmci-only/linux/driver.c.new	2015-07-23 00:28:25.713804866 +0200
+@@ -37,6 +37,7 @@
+ #include <linux/moduleparam.h>
+ #include <linux/poll.h>
+ #include <linux/smp.h>
++#include <linux/vmalloc.h>
+ 
+ #include "compat_highmem.h"
+ #include "compat_interrupt.h"
+--- vmblock-only/linux/inode.c	2015-08-23 00:34:11.959377109 +0200
++++ vmblock-only/linux/inode.c.new	2015-08-23 00:37:49.839389292 +0200
+@@ -38,7 +38,9 @@
+ static int InodeOpReadlink(struct dentry *, char __user *, int);
+ #endif
+ 
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
++static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+ #else
+ static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+@@ -203,13 +205,19 @@
+  *----------------------------------------------------------------------------
+  */
+ 
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
++static const char *
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *
+ #else
+ static int
+ #endif
+ InodeOpFollowlink(struct dentry *dentry,  // IN : dentry of symlink
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
++                  void **cookie)          // OUT: stores opaque pointer
++#else
+                   struct nameidata *nd)   // OUT: stores result
++#endif
+ {
+    int ret;
+    VMBlockInodeInfo *iinfo;
+@@ -226,7 +234,11 @@
+       goto out;
+    }
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
++   return *cookie = iinfo->name;
++#else
+    nd_set_link(nd, iinfo->name);
++#endif
+ 
+ out:
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

diff --git a/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch b/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch
new file mode 100644
index 0000000..6437d60
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch
@@ -0,0 +1,22 @@
+--- vmnet-only/vmnetInt.h	2015-05-28 01:46:53.023206897 +0200
++++ vmnet-only/vmnetInt.h.new	2015-05-28 01:47:07.911207730 +0200
+@@ -79,7 +79,7 @@
+ extern struct proto vmnet_proto;
+ #ifdef VMW_NETDEV_HAS_NET
+ #   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
+-                                                PF_NETLINK, _pri, &vmnet_proto)
++                                                PF_NETLINK, _pri, &vmnet_proto, 0)
+ #else
+ #   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
+ #endif
+--- vsock-only/linux/af_vsock.c	2015-05-28 01:50:03.553217551 +0200
++++ vsock-only/linux/af_vsock.c.new	2015-05-28 01:54:55.248233862 +0200
+@@ -2829,7 +2829,7 @@
+ #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24)
+    sk = sk_alloc(vsockVmciFamilyOps.family, priority, &vsockVmciProto, 1);
+ #else
+-   sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto);
++   sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto, 0);
+ #endif
+    if (!sk) {
+       return NULL;

diff --git a/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch b/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch
new file mode 100644
index 0000000..b2d93a6
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch
@@ -0,0 +1,27 @@
+diff -ru work.old/vmci-only/linux/driver.c work/vmci-only/linux/driver.c
+--- work.old/vmci-only/linux/driver.c	2015-09-14 21:07:49.751696932 +0200
++++ work/vmci-only/linux/driver.c	2015-09-14 22:10:48.015908198 +0200
+@@ -2467,8 +2467,6 @@
+ static void __exit
+ vmci_exit(void)
+ {
+-   int retval;
+-
+    if (guestDeviceInit) {
+       pci_unregister_driver(&vmci_driver);
+       vfree(data_buffer);
+@@ -2480,12 +2478,8 @@
+ 
+       VMCI_HostCleanup();
+ 
+-      retval = misc_deregister(&linuxState.misc);
+-      if (retval) {
+-         Warning(LGPFX "Module %s: error unregistering\n", VMCI_MODULE_NAME);
+-      } else {
+-         Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME);
+-      }
++      misc_deregister(&linuxState.misc);
++      Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME);
+ 
+       hostDeviceInit = FALSE;
+    }

diff --git a/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch b/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch
new file mode 100644
index 0000000..9f0df66
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch
@@ -0,0 +1,14 @@
+diff -ru work.old/vmmon-only/linux/driver.c work/vmmon-only/linux/driver.c
+--- work.old/vmmon-only/linux/driver.c	2015-08-14 22:39:49.000000000 +0200
++++ work/vmmon-only/linux/driver.c	2015-09-14 22:11:06.807909249 +0200
+@@ -387,9 +387,7 @@
+ #ifdef VMX86_DEVEL
+    unregister_chrdev(linuxState.major, linuxState.deviceName);
+ #else
+-   if (misc_deregister(&linuxState.misc)) {
+-      Warning("Module %s: error unregistering\n", linuxState.deviceName);
+-   }
++   misc_deregister(&linuxState.misc);
+ #endif
+ 
+    Log("Module %s: unloaded\n", linuxState.deviceName);

diff --git a/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch
new file mode 100644
index 0000000..c139292
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch
@@ -0,0 +1,56 @@
+--- vmblock-only/linux/inode.c	2016-01-30 19:13:04.019947435 +0100
++++ vmblock-only/linux/inode.c.new	2016-01-30 19:13:56.226950354 +0100
+@@ -44,7 +44,9 @@
+ static int InodeOpReadlink(struct dentry *, char __user *, int);
+ #endif
+
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++static const char *InodeOpFollowlink(struct dentry *dentry, struct inode *inode, void **cookie);
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+ static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie);
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
+ static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
+@@ -63,7 +65,11 @@
+ struct inode_operations LinkInodeOps = {
+ #endif
+    .readlink    = InodeOpReadlink,
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++   .get_link = InodeOpFollowlink,
++#else
+    .follow_link = InodeOpFollowlink,
++#endif
+ };
+
+ /*
+@@ -231,6 +237,9 @@
+ static int
+ #endif
+ InodeOpFollowlink(struct dentry *dentry,  // IN : dentry of symlink
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++                  struct inode *inode,
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99)
+                   void **cookie)          // OUT: stores opaque pointer
+ #else
+@@ -241,12 +250,20 @@
+    VMBlockInodeInfo *iinfo;
+
+    if (!dentry) {
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++      ret = -ECHILD;
++#else
+       Warning("InodeOpReadlink: invalid args from kernel\n");
+       ret = -EINVAL;
++#endif
+       goto out;
+    }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99)
++   iinfo = INODE_TO_IINFO(inode);
++#else
+    iinfo = INODE_TO_IINFO(dentry->d_inode);
++#endif
+    if (!iinfo) {
+       ret = -EINVAL;
+       goto out;

diff --git a/app-emulation/vmware-modules/files/308-apic.patch b/app-emulation/vmware-modules/files/308-apic.patch
new file mode 100644
index 0000000..66cd459
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-apic.patch
@@ -0,0 +1,12 @@
+diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
+index f1f4b10..c43242f 100644
+--- a/vmmon-only/linux/hostif.c
++++ b/vmmon-only/linux/hostif.c
+@@ -55,6 +55,7 @@
+ #include <linux/kthread.h>
+ #include <linux/wait.h>
+ 
++#include <asm/apic.h>
+ 
+ #include "vmware.h"
+ #include "x86apic.h"

diff --git a/app-emulation/vmware-modules/files/308-hardened.patch b/app-emulation/vmware-modules/files/308-hardened.patch
new file mode 100644
index 0000000..31d5917
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-hardened.patch
@@ -0,0 +1,89 @@
+diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
+index b21dd44..960c2aa 100644
+--- a/vmmon-only/linux/driver.c
++++ b/vmmon-only/linux/driver.c
+@@ -178,7 +178,16 @@ static struct vm_operations_struct vmuser_mops = {
+ #endif
+ };
+ 
+-static struct file_operations vmuser_fops;
++static struct file_operations vmuser_fops = {
++   .owner = THIS_MODULE,
++   .poll = LinuxDriverPoll,
++   .unlocked_ioctl = LinuxDriver_Ioctl,
++   .compat_ioctl = LinuxDriver_Ioctl,
++   .open = LinuxDriver_Open,
++   .release = LinuxDriver_Close,
++   .mmap = LinuxDriverMmap
++};
++
+ static struct timer_list tscTimer;
+ static Atomic_uint32 tsckHz;
+ static VmTimeStart tsckHzStartTime;
+@@ -357,21 +372,6 @@ init_module(void)
+    linuxState.fastClockPriority = -20;
+    linuxState.swapSize = VMMON_UNKNOWN_SWAP_SIZE;
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vmuser_fops, 0, sizeof vmuser_fops);
+-   vmuser_fops.owner = THIS_MODULE;
+-   vmuser_fops.poll = LinuxDriverPoll;
+-   vmuser_fops.unlocked_ioctl = LinuxDriver_Ioctl;
+-   vmuser_fops.compat_ioctl = LinuxDriver_Ioctl;
+-   vmuser_fops.open = LinuxDriver_Open;
+-   vmuser_fops.release = LinuxDriver_Close;
+-   vmuser_fops.mmap = LinuxDriverMmap;
+-
+ #ifdef VMX86_DEVEL
+    devel_init_module();
+    linuxState.minor = 0;
+diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
+index b12b982..40bd4cf 100644
+--- a/vmnet-only/driver.c
++++ b/vmnet-only/driver.c
+@@ -165,7 +165,16 @@ static long  VNetFileOpUnlockedIoctl(struct file * filp,
+                                      unsigned int iocmd, unsigned long ioarg);
+ #endif
+ 
+-static struct file_operations vnetFileOps;
++static struct file_operations vnetFileOps = {
++   .owner = THIS_MODULE,
++   .read = VNetFileOpRead,
++   .write = VNetFileOpWrite,
++   .poll = VNetFileOpPoll,
++   .unlocked_ioctl = VNetFileOpUnlockedIoctl,
++   .compat_ioctl = VNetFileOpUnlockedIoctl,
++   .open = VNetFileOpOpen,
++   .release = VNetFileOpClose
++};
+ 
+ /*
+  * Utility functions
+@@ -476,22 +491,6 @@ init_module(void)
+       goto err_proto;
+    }
+ 
+-   /*
+-    * Initialize the file_operations structure. Because this code is always
+-    * compiled as a module, this is fine to do it here and not in a static
+-    * initializer.
+-    */
+-
+-   memset(&vnetFileOps, 0, sizeof vnetFileOps);
+-   vnetFileOps.owner = THIS_MODULE;
+-   vnetFileOps.read = VNetFileOpRead;
+-   vnetFileOps.write = VNetFileOpWrite;
+-   vnetFileOps.poll = VNetFileOpPoll;
+-   vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
+-   vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
+-   vnetFileOps.open = VNetFileOpOpen;
+-   vnetFileOps.release = VNetFileOpClose;
+-
+    retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
+    if (retval) {
+       LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",

diff --git a/app-emulation/vmware-modules/files/308-makefile-include.patch b/app-emulation/vmware-modules/files/308-makefile-include.patch
new file mode 100644
index 0000000..39c3000
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-makefile-include.patch
@@ -0,0 +1,65 @@
+diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
+index ab7a727..e3ec9d2 100644
+--- a/vmblock-only/Makefile.kernel
++++ b/vmblock-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE += -I$(SRCROOT)/include
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c,   -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
+diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
+index ba343ee..861ea83 100644
+--- a/vmci-only/Makefile.kernel
++++ b/vmci-only/Makefile.kernel
+@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
+ 
+ INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ obj-m += $(DRIVER).o
+ 
+diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
+index 8770d1d..c4746c3 100644
+--- a/vmmon-only/Makefile.kernel
++++ b/vmmon-only/Makefile.kernel
+@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
+ INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
+ 	   -I$(SRCROOT)/vmcore
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ 
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
+ 
+diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
+index d1e3133..665d428 100644
+--- a/vmnet-only/Makefile.kernel
++++ b/vmnet-only/Makefile.kernel
+@@ -19,7 +19,7 @@
+ 
+ INCLUDE := -I$(SRCROOT)
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
+ EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
+diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
+index b4629ee..264b8cb 100644
+--- a/vsock-only/Makefile.kernel
++++ b/vsock-only/Makefile.kernel
+@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
+ INCLUDE += -I$(SRCROOT)/linux
+ INCLUDE += -I$(SRCROOT)/common
+ 
+-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
+ EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/308-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/308-makefile-kernel-dir.patch
new file mode 100644
index 0000000..1a647a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-makefile-kernel-dir.patch
@@ -0,0 +1,85 @@
+diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
+index 2b81323..746c8b8 100644
+--- a/vmblock-only/Makefile
++++ b/vmblock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmblock
+ PRODUCT := ws
+diff --git a/vmci-only/Makefile b/vmci-only/Makefile
+index 8e9c5be..6ec828b 100644
+--- a/vmci-only/Makefile
++++ b/vmci-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmci
+ PRODUCT := ws
+diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
+index 5bd867b..91a83d4 100644
+--- a/vmmon-only/Makefile
++++ b/vmmon-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmmon
+ PRODUCT := @@PRODUCT@@
+diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
+index d4eb73c..c7c6d38 100644
+--- a/vmnet-only/Makefile
++++ b/vmnet-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vmnet
+ PRODUCT := @@PRODUCT@@
+diff --git a/vsock-only/Makefile b/vsock-only/Makefile
+index 93dd61d..9765696 100644
+--- a/vsock-only/Makefile
++++ b/vsock-only/Makefile
+@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
+ ifdef LINUXINCLUDE
+ HEADER_DIR = $(LINUXINCLUDE)
+ else
+-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
++HEADER_DIR = $(KERNEL_DIR)
+ endif
+ 
+-BUILD_DIR = $(HEADER_DIR)/..
++BUILD_DIR = $(KBUILD_OUTPUT)
+ 
+ DRIVER := vsock
+ PRODUCT := ws

diff --git a/app-emulation/vmware-modules/files/308-netdevice.patch b/app-emulation/vmware-modules/files/308-netdevice.patch
new file mode 100644
index 0000000..35231a3
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-netdevice.patch
@@ -0,0 +1,24 @@
+diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
+index 7a56304..9ff4548 100644
+--- a/vmnet-only/compat_netdevice.h
++++ b/vmnet-only/compat_netdevice.h
+@@ -47,6 +47,19 @@
+ #   define net_device device
+ #endif
+ 
++/* it looks like these have been removed from the kernel 3.1
++ * probably because the "transition" is considered complete.
++ * so to keep this source compatible we just redefine them like they were
++ * previously
++ */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
++#define HAVE_ALLOC_NETDEV		/* feature macro: alloc_xxxdev
++					   functions are available. */
++#define HAVE_FREE_NETDEV		/* free_netdev() */
++#define HAVE_NETDEV_PRIV		/* netdev_priv() */
++#define HAVE_NETIF_QUEUE
++#define HAVE_NET_DEVICE_OPS
++#endif
+ 
+ /*
+  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting

diff --git a/app-emulation/vmware-modules/vmware-modules-308.1.0.ebuild b/app-emulation/vmware-modules/vmware-modules-308.1.0.ebuild
new file mode 100644
index 0000000..98a4bd4
--- /dev/null
+++ b/app-emulation/vmware-modules/vmware-modules-308.1.0.ebuild
@@ -0,0 +1,149 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils flag-o-matic linux-info linux-mod user versionator udev
+
+PV_MAJOR=$(get_major_version)
+PV_MINOR=$(get_version_component_range 2-3)
+
+DESCRIPTION="VMware kernel modules"
+HOMEPAGE="http://www.vmware.com/"
+
+SRC_URI=""
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="pax_kernel +vmci +vsock"
+REQUIRED_USE="!vsock? ( !vmci )"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+	|| ( =app-emulation/vmware-player-12.${PV_MINOR}*
+	=app-emulation/vmware-workstation-12.${PV_MINOR}* )"
+
+S=${WORKDIR}
+
+pkg_setup() {
+	CONFIG_CHECK="~HIGH_RES_TIMERS"
+	if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
+		CONFIG_CHECK="${CONFIG_CHECK} BKL"
+	fi
+	if use vmci ; then
+		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
+	else
+		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
+	fi
+	if use vsock ; then
+		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
+	else
+		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
+	fi
+
+	linux-info_pkg_setup
+
+	linux-mod_pkg_setup
+
+	VMWARE_GROUP=${VMWARE_GROUP:-vmware}
+
+	VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
+	VMWARE_MODULE_LIST="vmblock vmmon vmnet"
+	use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
+	use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
+
+	VMWARE_MOD_DIR="${PN}-${PVR}"
+
+	BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
+
+	enewgroup "${VMWARE_GROUP}"
+
+	filter-flags -mfpmath=sse -mavx -mpclmul -maes
+	append-cflags -mno-sse  # Found a problem similar to bug #492964
+
+	for mod in ${VMWARE_MODULE_LIST}; do
+		MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
+	done
+}
+
+src_unpack() {
+	cd "${S}"
+	for mod in ${VMWARE_MODULE_LIST_ALL}; do
+		tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
+	done
+}
+
+src_prepare() {
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
+	use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
+	epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
+
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch"
+	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch"
+	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
+	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
+	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch"
+	kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
+	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
+	kernel_is ge 4 01 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.01-00-vsock.patch"
+	kernel_is ge 4 02 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.02-00-nd_set_link.patch"
+	kernel_is ge 4 02 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.02-01-sk_alloc.patch"
+	kernel_is ge 4 03 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.03-00-vmci-misc_deregister.patch"
+
+	# Allow user patches so they can support RC kernels and whatever else
+	epatch_user
+}
+
+src_install() {
+	linux-mod_src_install
+	local udevrules="${T}/60-vmware.rules"
+	cat > "${udevrules}" <<-EOF
+		KERNEL=="vmci",  GROUP="vmware", MODE="660"
+		KERNEL=="vmw_vmci",  GROUP="vmware", MODE="660"
+		KERNEL=="vmmon", GROUP="vmware", MODE="660"
+		KERNEL=="vsock", GROUP="vmware", MODE="660"
+	EOF
+	udev_dorules "${udevrules}"
+
+	if ! use vmci ; then
+		dodir /etc/modprobe.d/
+
+		cat > "${D}"/etc/modprobe.d/vmware.conf <<-EOF
+			# Support for vmware vmci in kernel module
+			alias vmci	vmw_vmci
+		EOF
+
+		export installed_modprobe_conf=1
+	fi
+	if ! use vsock ; then
+		dodir /etc/modprobe.d/
+		cat >> "${D}"/etc/modprobe.d/vmware.conf <<-EOF
+			# Support for vmware vsock in kernel module
+			alias vsock	vmw_vsock_vmci_transport
+		EOF
+
+		export installed_modprobe_conf=1
+	fi
+}
+
+pkg_postinst() {
+	linux-mod_pkg_postinst
+	if [ "${installed_modprobe_conf}"x == "x"  ] ; then
+		if [ -f "${ROOT}/etc/modprobe.d/vmware.conf" ] ; then
+			ewarn "Please check the /etc/modprobe.d/vmware.conf file and"
+			ewarn "possible conflicts when using vmci and/or vsock modules built"
+			ewarn "out of kernel"
+		fi
+	fi
+}


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-03-18 23:33 Andreas Hüttel
  0 siblings, 0 replies; 19+ messages in thread
From: Andreas Hüttel @ 2016-03-18 23:33 UTC (permalink / raw
  To: gentoo-commits

commit:     8213c15bc619e48cde6cd943fc75a825b520a165
Author:     Andreas K. Hüttel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 18 23:33:19 2016 +0000
Commit:     Andreas Hüttel <dilfridge <AT> gentoo <DOT> org>
CommitDate: Fri Mar 18 23:33:19 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=8213c15b

app-emulation/vmware-modules: Remove old

Package-Manager: portage-2.2.28

 .../vmware-modules/files/271-3.10-00-userns.patch  |  41 -----
 .../files/271-3.10-01-create_proc_entry.patch      |  28 ----
 .../vmware-modules/files/271-3.10-02-getname.patch |  24 ---
 .../files/271-3.10-03-deprecated.patch             |  89 -----------
 .../files/271-3.10-04-unused-typedef.patch         | 115 --------------
 .../vmware-modules/files/271-3.10-05-dentry.patch  |  34 -----
 .../vmware-modules/files/271-3.10-06-inode.patch   |  36 -----
 .../vmware-modules/files/271-3.10-07-hub.patch     |  26 ----
 .../vmware-modules/files/271-3.11-00-readdir.patch |  41 -----
 .../vmware-modules/files/271-3.11-01-filldir.patch |  53 -------
 .../vmware-modules/files/271-3.13-00-vmnet.patch   |  39 -----
 .../files/271-3.15-00-readlink.patch               |  15 --
 .../vmware-modules/files/271-3.15-01-vsock.patch   |  46 ------
 .../vmware-modules/files/271-3.17-00-netdev.patch  |  16 --
 .../files/271-3.19-00-vmnet-warning.patch          |  13 --
 .../files/271-3.19-01-vmblock-path.patch           |  67 --------
 .../vmware-modules/files/271-3.19-02-vmci.patch    |  29 ----
 .../vmware-modules/files/271-3.19-03-vmnet.patch   |  29 ----
 .../vmware-modules/files/271-3.19-04-vsock.patch   |  12 --
 .../vmware-modules/files/271-3.19-05-vsock.patch   |  15 --
 .../files/271-3.19-06-vmci_qpair.patch             |  24 ---
 app-emulation/vmware-modules/files/271-apic.patch  |  12 --
 .../vmware-modules/files/271-hardened.patch        | 170 ---------------------
 .../files/271-makefile-include.patch               |  65 --------
 .../files/271-makefile-kernel-dir.patch            |  85 -----------
 .../vmware-modules/files/271-netdevice.patch       |  24 ---
 .../vmware-modules/files/271-putname.patch         |  13 --
 .../vmware-modules/files/279-3.10-00-userns.patch  |  41 -----
 .../vmware-modules/files/279-3.10-01-getname.patch |  24 ---
 .../files/279-3.10-03-deprecated.patch             |  89 -----------
 .../vmware-modules/files/279-3.10-04-dentry.patch  |  34 -----
 .../vmware-modules/files/279-3.10-05-inode.patch   |  36 -----
 .../files/279-3.15-00-readlink.patch               |  15 --
 .../vmware-modules/files/279-3.15-01-vsock.patch   |  46 ------
 .../vmware-modules/files/279-3.17-00-netdev.patch  |  16 --
 .../files/279-3.18-00-version-redefined.patch      |  24 ---
 .../files/279-3.19-00-compat-namei.patch           |  23 ---
 .../vmware-modules/files/279-3.19-01-dentry.patch  |  13 --
 .../files/279-3.19-02-vmblock-path.patch           |  67 --------
 .../vmware-modules/files/279-3.19-03-iovec.patch   |  19 ---
 .../vmware-modules/files/279-3.19-04-iovec.patch   |  39 -----
 .../files/279-3.19-05-vmci_qpair.patch             |  24 ---
 .../vmware-modules/files/279-3.19-06-vsock.patch   |  15 --
 .../vmware-modules/files/279-3.19-07-vsock.patch   |  12 --
 .../vmware-modules/files/279-4.2-00-cookie.patch   |  79 ----------
 .../vmware-modules/files/279-5.10-00-userns.patch  |  16 --
 app-emulation/vmware-modules/files/279-apic.patch  |  12 --
 .../vmware-modules/files/279-filldir.patch         |  91 -----------
 .../vmware-modules/files/279-hardened.patch        | 113 --------------
 .../files/279-makefile-include.patch               |  65 --------
 .../files/279-makefile-kernel-dir.patch            |  85 -----------
 .../vmware-modules/files/279-netdevice.patch       |  24 ---
 .../vmware-modules/files/279-putname.patch         |  13 --
 .../vmware-modules/files/279-vmblock.patch         |  23 ---
 .../vmware-modules/vmware-modules-271.3-r1.ebuild  | 108 -------------
 .../vmware-modules/vmware-modules-279.6.ebuild     | 117 --------------
 56 files changed, 2444 deletions(-)

diff --git a/app-emulation/vmware-modules/files/271-3.10-00-userns.patch b/app-emulation/vmware-modules/files/271-3.10-00-userns.patch
deleted file mode 100644
index b1b78b7..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-00-userns.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-correctly initializes UID/GID values
-gets UID correctly in light of user namespace API
-origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
-
---- a/vmblock-only/linux/inode.c   2013-03-20 17:37:48.000000000 +0100
-+++ b/vmblock-only/linux/inode.c   2013-03-20 17:41:22.000000000 +0100
-@@ -135,7 +135,8 @@
-    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
-    inode->i_version = 1;
-    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
--   inode->i_uid = inode->i_gid = 0;
-+   inode->i_uid = GLOBAL_ROOT_UID;
-+   inode->i_gid = GLOBAL_ROOT_GID;
-    inode->i_op = &LinkInodeOps;
- 
-    d_add(dentry, inode);
-
---- a/vmci-only/linux/driver.c    2013-03-20 17:57:35.000000000 +0100
-+++ b/vmci-only/linux/driver.c    2013-03-20 17:57:43.000000000 +0100
-@@ -740,7 +740,7 @@
-          goto init_release;
-       }
- 
--      user = current_uid();
-+      user = from_kuid(current_user_ns(), current_uid());
-       retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
-                                        0 /* Unused */, vmciLinux->userVersion,
-                                        &user, &vmciLinux->context);
-
---- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
-+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
-@@ -2866,7 +2866,7 @@
-       vsk->connectTimeout = psk->connectTimeout;
-    } else {
-       vsk->trusted = capable(CAP_NET_ADMIN);
--      vsk->owner = current_uid();
-+      vsk->owner = from_kuid(current_user_ns(), current_uid());
-       vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
-       vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
-       vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
-

diff --git a/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch b/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch
deleted file mode 100644
index 889ae71..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-uses the new proc_create function to create /proc entries
-instead of create_proc_entry which was deprecated: 
-https://lkml.org/lkml/2013/4/11/215
-
---- a/vmblock-only/linux/control.c	2013-05-21 19:21:19.165750556 +0200
-+++ b/vmblock-only/linux/control.c	2013-05-21 19:22:18.363747723 +0200
-@@ -208,9 +208,10 @@
-    VMBlockSetProcEntryOwner(controlProcMountpoint);
- 
-    /* Create /proc/fs/vmblock/dev */
--   controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
--                                        VMBLOCK_CONTROL_MODE,
--                                        controlProcDirEntry);
-+   controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME,
-+                                  VMBLOCK_CONTROL_MODE,
-+                                  controlProcDirEntry,
-+                                  &ControlFileOps);
-    if (!controlProcEntry) {
-       Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
-       remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
-@@ -218,7 +219,6 @@
-       return -EINVAL;
-    }
- 
--   controlProcEntry->proc_fops = &ControlFileOps;
-    return 0;
- }
- 

diff --git a/app-emulation/vmware-modules/files/271-3.10-02-getname.patch b/app-emulation/vmware-modules/files/271-3.10-02-getname.patch
deleted file mode 100644
index 05ed8db..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-02-getname.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-uses __getname/__putname instead of getname. getname was deprecated
-the new code calls __getname (which really is a specific type of 
-memory allocator, then copies the string safely from user space
-into the allocated buffer
-
---- vmblock-only/linux/control.c	2014-03-15 15:28:40.871076076 +0100
-+++ vmblock-only/linux/control.c.new	2014-03-15 15:29:15.079074439 +0100
-@@ -279,11 +279,17 @@
-    int i;
-    int retval;
- 
--   name = getname(buf);
-+   name = __getname();
-    if (IS_ERR(name)) {
-       return PTR_ERR(name);
-    }
- 
-+   i = strncpy_from_user(name, buf, PATH_MAX);
-+   if (i < 0 || i == PATH_MAX) {
-+      __putname(name);
-+      return -EINVAL;
-+   }
-+
-    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {

diff --git a/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch
deleted file mode 100644
index 981aabd..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-undefines DEPRECATED which is unfortunately also defined (as a string)
-in <linux/printk.h>. Realistically, this macro isn't even used, so this
-doesn't matter much. But it hushes some very loud warnings.
-
-diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
---- vmblock-only/shared/vm_assert.h	2014-10-09 21:50:54.221159088 -0400
-+++ vmblock-only.new/shared/vm_assert.h	2014-10-09 21:53:04.612166156 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
---- vmci-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmci-only.new/shared/vm_assert.h	2014-10-09 21:52:52.348165492 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
---- vmmon-only/include/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmmon-only.new/include/vm_assert.h	2014-10-09 21:52:36.877164653 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
---- vmnet-only/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vmnet-only.new/vm_assert.h	2014-10-09 21:52:57.736165784 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
---- vsock-only/shared/vm_assert.h	2014-10-09 21:50:54.222159088 -0400
-+++ vsock-only.new/shared/vm_assert.h	2014-10-09 21:52:45.352165112 -0400
-@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                        \
-                                Warning("%s:%d: %s is DEPRECATED; %s\n",     \
-                                           __FILE__, __LINE__, __FUNCTION__, \
-                                           _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 

diff --git a/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch b/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch
deleted file mode 100644
index d5129ec..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-hushes warnings about unused typedefs which are part of the "static assert"
-technique that the code uses. We simply add an "__attribute__((unused)) to each of them
-
---- vmblock-only/shared/vm_assert.h	2014-10-07 22:43:39.519402467 -0400
-+++ vmblock-only/shared/vm_assert.h	2014-10-07 22:48:01.346409957 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmci-only/shared/vm_assert.h	2014-10-07 22:43:39.519402467 -0400
-+++ vmci-only/shared/vm_assert.h	2014-10-07 22:47:51.829409685 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmmon-only/include/vm_assert.h	2014-10-07 22:43:39.520402467 -0400
-+++ vmmon-only/include/vm_assert.h	2014-10-07 22:47:39.246409325 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vmnet-only/vm_assert.h	2014-10-07 22:43:39.520402467 -0400
-+++ vmnet-only/vm_assert.h	2014-10-07 22:47:55.804409799 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vsock-only/shared/vm_assert.h	2014-10-07 22:47:11.595408534 -0400
-+++ vsock-only/shared/vm_assert.h	2014-10-07 22:45:55.715406363 -0400
-@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou
- #define ASSERT_ON_COMPILE(e) \
-    do { \
-       enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \
-    } while (0)
- 
- 
---- vsock-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only/shared/vm_atomic.h	2014-10-07 22:53:06.024418673 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
---- vmci-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vmci-only/shared/vm_atomic.h	2014-10-07 22:53:24.873419213 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
-
---- vmblock-only/shared/vm_atomic.h	2013-11-05 23:33:27.000000000 -0500
-+++ vmblock-only/shared/vm_atomic.h	2014-10-07 22:53:31.073419390 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-
---- vmnet-only/vm_atomic.h	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only/vm_atomic.h	2014-10-07 23:04:50.637438831 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \
-																			   
---- vmmon-only/include/vm_atomic.h   2013-11-06 00:40:52.000000000 -0500
-+++ vmmon-only/include/vm_atomic.h   2014-10-07 23:04:50.637438831 -0400
-@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, //
-                                       && 8 * sizeof (out) == size             \
-                                       && 8 * sizeof (cast) == size            \
-                                          ? 1 : -1 };                          \
--      typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-+      __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused];             \
-    }                                                                          \
-                                                                               \
-                                                                               \

diff --git a/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch b/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch
deleted file mode 100644
index f4f59d9..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
-as the second argument, not a nameidata pointer! see fs/namei.c 
-for implementation
-
-diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
---- vmblock-only/linux/dentry.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmblock-only/linux/dentry.c	2014-04-26 10:58:03.062635343 -0400
-@@ -32,7 +32,7 @@
- #include "block.h"
- 
- 
--static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
-+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
- 
- struct dentry_operations LinkDentryOps = {
-    .d_revalidate = DentryOpRevalidate,
-@@ -60,7 +60,7 @@
- 
- static int
- DentryOpRevalidate(struct dentry *dentry,  // IN: dentry revalidating
--                   struct nameidata *nd)   // IN: lookup flags & intent
-+                   unsigned int flags)   // IN: lookup flags & intent
- {
-    VMBlockInodeInfo *iinfo;
-    struct nameidata actualNd;
-@@ -101,7 +101,7 @@
-    if (actualDentry &&
-        actualDentry->d_op &&
-        actualDentry->d_op->d_revalidate) {
--      return actualDentry->d_op->d_revalidate(actualDentry, nd);
-+      return actualDentry->d_op->d_revalidate(actualDentry, flags);
-    }
- 
-    if (compat_path_lookup(iinfo->name, 0, &actualNd)) {

diff --git a/app-emulation/vmware-modules/files/271-3.10-06-inode.patch b/app-emulation/vmware-modules/files/271-3.10-06-inode.patch
deleted file mode 100644
index 01c8893..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-06-inode.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
-as the second argument, not a nameidata pointer! see fs/namei.c 
-for implementation. Also changing vfs_follow_link to nd_set_link.
-See: https://lkml.org/lkml/2013/9/9/236
-
-diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
---- vmblock-only/linux/inode.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmblock-only/linux/inode.c	2014-04-26 10:58:03.063635343 -0400
-@@ -36,7 +36,7 @@
- 
- /* Inode operations */
- static struct dentry *InodeOpLookup(struct inode *dir,
--                                    struct dentry *dentry, struct nameidata *nd);
-+                                    struct dentry *dentry, unsigned int flags);
- static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
- static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
-@@ -75,7 +75,7 @@
- static struct dentry *
- InodeOpLookup(struct inode *dir,      // IN: parent directory's inode
-               struct dentry *dentry,  // IN: dentry to lookup
--              struct nameidata *nd)   // IN: lookup intent and information
-+              unsigned int flags)   // IN: lookup intent and information
- {
-    char *filename;
-    struct inode *inode;
-@@ -221,7 +221,8 @@
-       goto out;
-    }
- 
--   ret = vfs_follow_link(nd, iinfo->name);
-+   nd_set_link(nd, iinfo->name);
-+   ret = 0;
- 
- out:
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

diff --git a/app-emulation/vmware-modules/files/271-3.10-07-hub.patch b/app-emulation/vmware-modules/files/271-3.10-07-hub.patch
deleted file mode 100644
index eebe4a2..0000000
--- a/app-emulation/vmware-modules/files/271-3.10-07-hub.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-fixes a bug where sizeof was being used on a pointer when they clearly
-meant to use the size of the array referred to. Fortunately, the amount is
-always smaller than the actual size of the buffer, so likely not a security issue
-(and was fixed in vmware-workstaiton 10
-
-diff -rupN vmnet-only/hub.c vmnet-only.new/hub.c
---- vmnet-only/hub.c	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only.new/hub.c	2014-10-07 18:45:34.403918680 -0400
-@@ -129,7 +129,7 @@ VNetHubFindHubByID(uint8 idNum[VNET_PVN_
- {
-    VNetHub *currHub = vnetHub;
-    while (currHub && (currHub->hubType != HUB_TYPE_PVN ||
--		      memcmp(idNum, currHub->id.pvnID, sizeof idNum))) {
-+		      memcmp(idNum, currHub->id.pvnID, VNET_PVN_ID_LEN))) {
-       currHub = currHub->next;
-    }
-    return currHub;
-@@ -312,7 +312,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE
- 
-       if (allocPvn) {
- 	 hub->hubType = HUB_TYPE_PVN;
--	 memcpy(hub->id.pvnID, id, sizeof id);
-+	 memcpy(hub->id.pvnID, id, VNET_PVN_ID_LEN);
- 	 ++pvnInstance;
-       } else {
- 	 hub->hubType = HUB_TYPE_VNET;

diff --git a/app-emulation/vmware-modules/files/271-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/271-3.11-00-readdir.patch
deleted file mode 100644
index b2f76d3..0000000
--- a/app-emulation/vmware-modules/files/271-3.11-00-readdir.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-replaces usage of vfs_readdir with iterate_dir. origionally found here:
-https://bugs.gentoo.org/show_bug.cgi?id=508204
-
-diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c
---- vmblock-only/linux/file.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmblock-only/linux/file.c	2014-04-26 10:58:03.062635343 -0400
-@@ -166,11 +166,9 @@
- 
- static int
- FileOpReaddir(struct file *file,  // IN
--              void *dirent,       // IN
--              filldir_t filldir)  // IN
-+		struct dir_context *ctx)
- {
-    int ret;
--   FilldirInfo info;
-    struct file *actualFile;
- 
-    if (!file) {
-@@ -184,11 +182,8 @@
-       return -EINVAL;
-    }
- 
--   info.filldir = filldir;
--   info.dirent = dirent;
--
-    actualFile->f_pos = file->f_pos;
--   ret = vfs_readdir(actualFile, Filldir, &info);
-+   ret = iterate_dir(actualFile, ctx);
-    file->f_pos = actualFile->f_pos;
- 
-    return ret;
-@@ -237,7 +232,7 @@
- 
- 
- struct file_operations RootFileOps = {
--   .readdir = FileOpReaddir,
-+   .iterate = FileOpReaddir,
-    .open    = FileOpOpen,
-    .release = FileOpRelease,
- };

diff --git a/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch
deleted file mode 100644
index 2eec99b..0000000
--- a/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-simply remove the code for Filldir since it is no longer used with the new 
-iterate_dir API
-
-diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c
---- vmblock-only/linux/file.c	2014-10-07 23:22:46.832469618 -0400
-+++ vmblock-only.new/linux/file.c	2014-10-07 23:24:35.276472720 -0400
-@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
- typedef ino_t inode_num_t;
- #endif
- 
--/* Specifically for our filldir_t callback */
--typedef struct FilldirInfo {
--   filldir_t filldir;
--   void *dirent;
--} FilldirInfo;
--
--
--/*
-- *----------------------------------------------------------------------------
-- *
-- * Filldir --
-- *
-- *    Callback function for readdir that we use in place of the one provided.
-- *    This allows us to specify that each dentry is a symlink, but pass through
-- *    everything else to the original filldir function.
-- *
-- * Results:
-- *    Original filldir's return value.
-- *
-- * Side effects:
-- *    Directory information gets copied to user's buffer.
-- *
-- *----------------------------------------------------------------------------
-- */
--
--static int
--Filldir(void *buf,              // IN: Dirent buffer passed from FileOpReaddir
--        const char *name,       // IN: Dirent name
--        int namelen,            // IN: len of dirent's name
--        loff_t offset,          // IN: Offset
--        inode_num_t ino,        // IN: Inode number of dirent
--        unsigned int d_type)    // IN: Type of file
--{
--   FilldirInfo *info = buf;
--
--   /* Specify DT_LNK regardless */
--   return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
--}
--
--
- /* File operations */
- 
- /*

diff --git a/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch b/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch
deleted file mode 100644
index 1bf2207..0000000
--- a/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-the new API to get the hooknum
-origionally from http://forums.gentoo.org/viewtopic-t-979802-start-25.html
-
---- work/vmnet-only/filter.c   2013-08-27 20:29:04.000000000 +0100
-+++ patched/vmnet-only/filter.c   2014-01-26 01:09:05.184893854 +0000
-@@ -27,6 +27,7 @@
- #include "compat_module.h"
- #include <linux/mutex.h>
- #include <linux/netdevice.h>
-+#include <linux/version.h>
- #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
- #   include <linux/module.h>
- #else
-@@ -203,7 +204,11 @@
- #endif
-
- static unsigned int
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
- VNetFilterHookFn(unsigned int hooknum,                 // IN:
-+#else
-+VNetFilterHookFn(const struct nf_hook_ops *ops,        // IN:
-+#endif
- #ifdef VMW_NFHOOK_USES_SKB
-                  struct sk_buff *skb,                  // IN:
- #else
-@@ -252,7 +257,12 @@
-
-    /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */
-    /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */
--   transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
-+
-+   #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0)
-+      transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
-+   #else
-+      transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING);
-+   #endif
-
-    packetHeader = compat_skb_network_header(skb);
-    ip = (struct iphdr*)packetHeader;

diff --git a/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch
deleted file mode 100644
index b8ee078..0000000
--- a/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-replacing usage of vfs_readlink with new readlink_copy API
-see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
-
-diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
---- vmblock-only/linux/inode.c	2014-10-05 23:20:14.545218357 -0400
-+++ vmblock-only/linux/inode.c	2014-10-05 23:33:01.549259933 -0400
-@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
-       return -EINVAL;
-    }
- 
--   return vfs_readlink(dentry, buffer, buflen, iinfo->name);
-+   return readlink_copy(buffer, buflen, iinfo->name);
- }
- 
- 

diff --git a/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
deleted file mode 100644
index 9e8d9d1..0000000
--- a/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-removing the no longer existing second parameter to sk_data_ready
-doesn't seem it ever served a purpose.
-
-diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
---- vsock-only/linux/notify.c	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only.new/linux/notify.c	2014-10-05 23:46:47.943304728 -0400
-@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
-    vsk = vsock_sk(sk);
-    PKT_FIELD(vsk, sentWaitingRead) = FALSE;
- #endif
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+   sk->sk_data_ready(sk);
-+#else
-    sk->sk_data_ready(sk, 0);
-+#endif
- }
- 
- 
-diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
---- vsock-only/linux/notifyQState.c	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only.new/linux/notifyQState.c	2014-10-05 23:46:33.231303931 -0400
-@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
-                      struct sockaddr_vm *dst,    // IN: unused
-                      struct sockaddr_vm *src)    // IN: unused
- {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+   sk->sk_data_ready(sk);
-+#else
-    sk->sk_data_ready(sk, 0);
-+#endif
- }
- 
- 
-@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
-       }
- 
-       /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+      sk->sk_data_ready(sk);
-+#else
-       sk->sk_data_ready(sk, 0);
-+#endif
-    }
- 
-    return err;

diff --git a/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
deleted file mode 100644
index e3ee3aa..0000000
--- a/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
-use the constant NET_NAME_UNKNOWN.
-origionally from: https://communities.vmware.com/message/2425189
-
-diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
---- vmnet-only/netif.c	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only.new/netif.c	2014-10-09 17:29:12.361307961 -0400
-@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName,  // IN:
-    memcpy(deviceName, devName, sizeof deviceName);
-    NULL_TERMINATE_STRING(deviceName);
- 
--   dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
-+   dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
-    if (!dev) {
-       retval = -ENOMEM;
-       goto out;

diff --git a/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch b/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch
deleted file mode 100644
index b4d30c9..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -rupN vmnet-only/vm_device_version.h vmnet-only.new/vm_device_version.h
---- vmnet-only/vm_device_version.h	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only.new/vm_device_version.h	2015-05-05 12:03:06.879202223 -0400
-@@ -53,7 +53,9 @@
-  *    VMware HD Audio codec
-  *    VMware HD Audio controller
-  */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
- #define PCI_VENDOR_ID_VMWARE                    0x15AD
-+#endif
- #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
- #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
- #define PCI_DEVICE_ID_VMWARE_NET                0x0720

diff --git a/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch b/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch
deleted file mode 100644
index 178d147..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-Sources:
-https://531682.bugs.gentoo.org/attachment.cgi?id=396484
-https://531682.bugs.gentoo.org/attachment.cgi?id=396482
-diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
---- vmblock-only.orig/linux/dentry.c	2015-02-14 18:05:46.000000000 -0500
-+++ vmblock-only/linux/dentry.c	2015-02-14 18:09:59.000000000 -0500
-@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
-                    unsigned int flags)   // IN: lookup flags & intent
- {
-    VMBlockInodeInfo *iinfo;
--   struct nameidata actualNd;
-+   struct path actualNd;
-    struct dentry *actualDentry;
-    int ret;
- 
-diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
---- vmblock-only.orig/linux/filesystem.c	2014-11-20 19:29:15.000000000 -0500
-+++ vmblock-only/linux/filesystem.c	2015-02-14 18:10:49.000000000 -0500
-@@ -322,7 +322,7 @@ Iget(struct super_block *sb,    // IN: f
- {
-    VMBlockInodeInfo *iinfo;
-    struct inode *inode;
--   struct nameidata actualNd;
-+   struct path actualNd;
- 
-    ASSERT(sb);
- 
-diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
---- vmblock-only.orig/shared/compat_namei.h	2014-11-20 19:29:15.000000000 -0500
-+++ vmblock-only/shared/compat_namei.h	2015-02-14 18:08:38.000000000 -0500
-@@ -26,21 +26,21 @@
-  * struct. They were both replaced with a struct path.
-  */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
--#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
-+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
- #else
- #define compat_vmw_nd_to_dentry(nd) (nd).dentry
- #endif
- 
- /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
--#define compat_path_release(nd) path_put(&(nd)->path)
-+#define compat_path_release(nd) path_put(nd)
- #else
- #define compat_path_release(nd) path_release(nd)
- #endif
- 
- /* path_lookup was removed in 2.6.39 merge window VFS merge */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
--#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, &((nd)->path))
-+#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, nd)
- #else
- #define compat_path_lookup(name, flags, nd)     path_lookup(name, flags, nd)
- #endif
-diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
---- vmblock-only.orig/linux/file.c	2015-02-11 12:18:29.000000000 -0500
-+++ vmblock-only/linux/file.c	2015-02-11 12:41:41.000000000 -0500
-@@ -92,7 +92,7 @@
-     * and that would try to acquire the inode's semaphore; if the two inodes
-     * are the same we'll deadlock.
-     */
--   if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
-+   if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
-       Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
-       if (filp_close(actualFile, current->files) < 0) {
-          Warning("FileOpOpen: unable to close opened file.\n");

diff --git a/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch b/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch
deleted file mode 100644
index a8ec2b1..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
---- vmci-only/linux/vmciKernelIf.c	2015-05-05 11:22:55.276071501 -0400
-+++ vmci-only.new/linux/vmciKernelIf.c	2015-05-05 11:23:58.912074950 -0400
-@@ -40,6 +40,7 @@
- #include <linux/socket.h>       /* For memcpy_{to,from}iovec(). */
- #include <linux/vmalloc.h>
- #include <linux/wait.h>
-+#include <linux/skbuff.h>
- 
- #include "compat_highmem.h"
- #include "compat_interrupt.h"
-diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c
---- vmci-only/linux/vmciKernelIf.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmci-only.new/linux/vmciKernelIf.c	2015-05-05 11:21:59.929068500 -0400
-@@ -1246,11 +1246,11 @@ __VMCIMemcpyFromQueue(void *dest,
-       }
- 
-       if (isIovec) {
--         struct iovec *iov = (struct iovec *)dest;
-+         struct msghdr *msg = dest;
-          int err;
- 
-          /* The iovec will track bytesCopied internally. */
--         err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
-+         err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
-          if (err != 0) {
-             kunmap(kernelIf->page[pageIndex]);
-             return VMCI_ERROR_INVALID_ARGS;
-

diff --git a/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch b/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch
deleted file mode 100644
index 041bfb6..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-diff -ur vmnet-only.orig/driver.c vmnet-only/driver.c
---- vmnet-only.orig/driver.c	2014-06-13 02:38:25.000000000 +0200
-+++ vmnet-only/driver.c	2015-02-21 17:31:22.630656305 +0100
-@@ -1236,8 +1236,8 @@
-    struct inode *inode = NULL;
-    long err;
- 
--   if (filp && filp->f_dentry) {
--      inode = filp->f_dentry->d_inode;
-+   if (filp && filp->f_path.dentry) {
-+      inode = filp->f_path.dentry->d_inode;
-    }
-    err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
-    return err;
-diff -ur vmnet-only.orig/userif.c vmnet-only/userif.c
---- vmnet-only.orig/userif.c	2014-06-13 02:38:25.000000000 +0200
-+++ vmnet-only/userif.c	2015-02-21 17:37:46.154589854 +0100
-@@ -523,7 +523,10 @@
-       .iov_base = buf,
-       .iov_len  = len,
-    };
--   return skb_copy_datagram_iovec(skb, 0, &iov, len);
-+   struct iov_iter to;
-+
-+   iov_iter_init(&to, READ, &iov, 1, len);
-+   return skb_copy_datagram_iter(skb, 0, &to, len);
- }
- 
- 

diff --git a/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch
deleted file mode 100644
index 8c9d3cb..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
---- vsock-only/linux/af_vsock.c	2015-05-05 11:26:05.145081792 -0400
-+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:30:54.304097466 -0400
-@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
-       goto out;
-    }
- 
--   memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
-+   memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
- 
-    dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
-    dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);

diff --git a/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch
deleted file mode 100644
index 2e41230..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
---- vsock-only/linux/af_vsock.c	2015-05-05 11:31:35.710099711 -0400
-+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:36:33.260115840 -0400
-@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
-    }
- 
-    /* Place the datagram payload in the user's iovec. */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
-    err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
-+#else
-+   err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
-+#endif
-    if (err) {
-       goto out;
-    }

diff --git a/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch b/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch
deleted file mode 100644
index 1849a37..0000000
--- a/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
---- vsock-only.old/linux/af_vsock.c     2015-05-06 20:41:47.684046762 -0400
-+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
-@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
-        * able to send.
-        */
- 
--      written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
-+      written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
-                                   len - totalWritten, 0);
-       if (written < 0) {
-          err = -ENOMEM;
-@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
-          }
- 
-          if (flags & MSG_PEEK) {
--            read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
-+            read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
-          } else {
--            read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
-+            read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
-          }
- 
-          if (read < 0) {

diff --git a/app-emulation/vmware-modules/files/271-apic.patch b/app-emulation/vmware-modules/files/271-apic.patch
deleted file mode 100644
index 66cd459..0000000
--- a/app-emulation/vmware-modules/files/271-apic.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
-index f1f4b10..c43242f 100644
---- a/vmmon-only/linux/hostif.c
-+++ b/vmmon-only/linux/hostif.c
-@@ -55,6 +55,7 @@
- #include <linux/kthread.h>
- #include <linux/wait.h>
- 
-+#include <asm/apic.h>
- 
- #include "vmware.h"
- #include "x86apic.h"

diff --git a/app-emulation/vmware-modules/files/271-hardened.patch b/app-emulation/vmware-modules/files/271-hardened.patch
deleted file mode 100644
index ea1b0f3..0000000
--- a/app-emulation/vmware-modules/files/271-hardened.patch
+++ /dev/null
@@ -1,170 +0,0 @@
-diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c
-index 921f25c..41a39e3 100644
---- a/vmci-only/linux/driver.c
-+++ b/vmci-only/linux/driver.c
-@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait);
- #define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0)
- #endif
- 
--static struct file_operations vmuser_fops;
-+/*
-+ * Moved file operations initialize here because of incompatibilites
-+ * with Gentoo hardened profile/hardend Linux 3.
-+ */
-+static struct file_operations vmuser_fops = {
-+    .owner = THIS_MODULE,
-+    .poll = LinuxDriverPoll,
-+#ifdef HAVE_UNLOCKED_IOCTL
-+    .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
-+#else
-+    .ioctl = LinuxDriver_Ioctl,
-+#endif
-+#ifdef HAVE_COMPAT_IOCTL
-+    .compat_ioctl = LinuxDriver_UnlockedIoctl,
-+#endif
-+    .open = LinuxDriver_Open,
-+    .release = LinuxDriver_Close
-+};
- 
- 
- /*
-@@ -378,26 +395,6 @@ vmci_host_init(void)
-       return -ENOMEM;
-    }
- 
--   /*
--    * Initialize the file_operations structure. Because this code is always
--    * compiled as a module, this is fine to do it here and not in a static
--    * initializer.
--    */
--
--   memset(&vmuser_fops, 0, sizeof vmuser_fops);
--   vmuser_fops.owner = THIS_MODULE;
--   vmuser_fops.poll = LinuxDriverPoll;
--#ifdef HAVE_UNLOCKED_IOCTL
--   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
--#else
--   vmuser_fops.ioctl = LinuxDriver_Ioctl;
--#endif
--#ifdef HAVE_COMPAT_IOCTL
--   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
--#endif
--   vmuser_fops.open = LinuxDriver_Open;
--   vmuser_fops.release = LinuxDriver_Close;
--
-    sprintf(linuxState.deviceName, "vmci");
-    linuxState.major = 10;
-    linuxState.misc.minor = MISC_DYNAMIC_MINOR;
-diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
-index b21dd44..960c2aa 100644
---- a/vmmon-only/linux/driver.c
-+++ b/vmmon-only/linux/driver.c
-@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
- #endif
- };
- 
--static struct file_operations vmuser_fops;
-+static struct file_operations vmuser_fops = {
-+   .owner = THIS_MODULE,
-+   .poll = LinuxDriverPoll,
-+#ifdef HAVE_UNLOCKED_IOCTL
-+   .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
-+#else
-+   .ioctl = LinuxDriver_Ioctl,
-+#endif
-+#ifdef HAVE_COMPAT_IOCTL
-+   .compat_ioctl = LinuxDriver_UnlockedIoctl,
-+#endif
-+   .open = LinuxDriver_Open,
-+   .release = LinuxDriver_Close,
-+   .mmap = LinuxDriverMmap
-+};
-+
- static struct timer_list tscTimer;
- 
- /*
-@@ -357,27 +372,6 @@ init_module(void)
-    spin_lock_init(&linuxState.pollListLock);
- #endif
- 
--   /*
--    * Initialize the file_operations structure. Because this code is always
--    * compiled as a module, this is fine to do it here and not in a static
--    * initializer.
--    */
--
--   memset(&vmuser_fops, 0, sizeof vmuser_fops);
--   vmuser_fops.owner = THIS_MODULE;
--   vmuser_fops.poll = LinuxDriverPoll;
--#ifdef HAVE_UNLOCKED_IOCTL
--   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
--#else
--   vmuser_fops.ioctl = LinuxDriver_Ioctl;
--#endif
--#ifdef HAVE_COMPAT_IOCTL
--   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
--#endif
--   vmuser_fops.open = LinuxDriver_Open;
--   vmuser_fops.release = LinuxDriver_Close;
--   vmuser_fops.mmap = LinuxDriverMmap;
--
- #ifdef VMX86_DEVEL
-    devel_init_module();
-    linuxState.minor = 0;
-diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
-index b12b982..40bd4cf 100644
---- a/vmnet-only/driver.c
-+++ b/vmnet-only/driver.c
-@@ -165,7 +165,22 @@ static long  VNetFileOpUnlockedIoctl(struct file * filp,
-                                      unsigned int iocmd, unsigned long ioarg);
- #endif
- 
--static struct file_operations vnetFileOps;
-+static struct file_operations vnetFileOps = {
-+   .owner = THIS_MODULE,
-+   .read = VNetFileOpRead,
-+   .write = VNetFileOpWrite,
-+   .poll = VNetFileOpPoll,
-+#ifdef HAVE_UNLOCKED_IOCTL
-+   .unlocked_ioctl = VNetFileOpUnlockedIoctl,
-+#else
-+   .ioctl = VNetFileOpIoctl,
-+#endif
-+#ifdef HAVE_COMPAT_IOCTL
-+   .compat_ioctl = VNetFileOpUnlockedIoctl,
-+#endif
-+   .open = VNetFileOpOpen,
-+   .release = VNetFileOpClose
-+};
- 
- /*
-  * Utility functions
-@@ -476,28 +491,6 @@ init_module(void)
-       goto err_proto;
-    }
- 
--   /*
--    * Initialize the file_operations structure. Because this code is always
--    * compiled as a module, this is fine to do it here and not in a static
--    * initializer.
--    */
--
--   memset(&vnetFileOps, 0, sizeof vnetFileOps);
--   vnetFileOps.owner = THIS_MODULE;
--   vnetFileOps.read = VNetFileOpRead;
--   vnetFileOps.write = VNetFileOpWrite;
--   vnetFileOps.poll = VNetFileOpPoll;
--#ifdef HAVE_UNLOCKED_IOCTL
--   vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
--#else
--   vnetFileOps.ioctl = VNetFileOpIoctl;
--#endif
--#ifdef HAVE_COMPAT_IOCTL
--   vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
--#endif
--   vnetFileOps.open = VNetFileOpOpen;
--   vnetFileOps.release = VNetFileOpClose;
--
-    retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
-    if (retval) {
-       LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",

diff --git a/app-emulation/vmware-modules/files/271-makefile-include.patch b/app-emulation/vmware-modules/files/271-makefile-include.patch
deleted file mode 100644
index 39c3000..0000000
--- a/app-emulation/vmware-modules/files/271-makefile-include.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
-index ab7a727..e3ec9d2 100644
---- a/vmblock-only/Makefile.kernel
-+++ b/vmblock-only/Makefile.kernel
-@@ -19,7 +19,7 @@
- 
- INCLUDE += -I$(SRCROOT)/include
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c,   -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
-diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
-index ba343ee..861ea83 100644
---- a/vmci-only/Makefile.kernel
-+++ b/vmci-only/Makefile.kernel
-@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
- 
- INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- obj-m += $(DRIVER).o
- 
-diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
-index 8770d1d..c4746c3 100644
---- a/vmmon-only/Makefile.kernel
-+++ b/vmmon-only/Makefile.kernel
-@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
- INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
- 	   -I$(SRCROOT)/vmcore
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
- 
-diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
-index d1e3133..665d428 100644
---- a/vmnet-only/Makefile.kernel
-+++ b/vmnet-only/Makefile.kernel
-@@ -19,7 +19,7 @@
- 
- INCLUDE := -I$(SRCROOT)
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
-diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
-index b4629ee..264b8cb 100644
---- a/vsock-only/Makefile.kernel
-+++ b/vsock-only/Makefile.kernel
-@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
- INCLUDE += -I$(SRCROOT)/linux
- INCLUDE += -I$(SRCROOT)/common
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
- 
- 

diff --git a/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch
deleted file mode 100644
index 1a647a3..0000000
--- a/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
-index 2b81323..746c8b8 100644
---- a/vmblock-only/Makefile
-+++ b/vmblock-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmblock
- PRODUCT := ws
-diff --git a/vmci-only/Makefile b/vmci-only/Makefile
-index 8e9c5be..6ec828b 100644
---- a/vmci-only/Makefile
-+++ b/vmci-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmci
- PRODUCT := ws
-diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
-index 5bd867b..91a83d4 100644
---- a/vmmon-only/Makefile
-+++ b/vmmon-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmmon
- PRODUCT := @@PRODUCT@@
-diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
-index d4eb73c..c7c6d38 100644
---- a/vmnet-only/Makefile
-+++ b/vmnet-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmnet
- PRODUCT := @@PRODUCT@@
-diff --git a/vsock-only/Makefile b/vsock-only/Makefile
-index 93dd61d..9765696 100644
---- a/vsock-only/Makefile
-+++ b/vsock-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vsock
- PRODUCT := ws

diff --git a/app-emulation/vmware-modules/files/271-netdevice.patch b/app-emulation/vmware-modules/files/271-netdevice.patch
deleted file mode 100644
index 35231a3..0000000
--- a/app-emulation/vmware-modules/files/271-netdevice.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
-index 7a56304..9ff4548 100644
---- a/vmnet-only/compat_netdevice.h
-+++ b/vmnet-only/compat_netdevice.h
-@@ -47,6 +47,19 @@
- #   define net_device device
- #endif
- 
-+/* it looks like these have been removed from the kernel 3.1
-+ * probably because the "transition" is considered complete.
-+ * so to keep this source compatible we just redefine them like they were
-+ * previously
-+ */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
-+#define HAVE_ALLOC_NETDEV		/* feature macro: alloc_xxxdev
-+					   functions are available. */
-+#define HAVE_FREE_NETDEV		/* free_netdev() */
-+#define HAVE_NETDEV_PRIV		/* netdev_priv() */
-+#define HAVE_NETIF_QUEUE
-+#define HAVE_NET_DEVICE_OPS
-+#endif
- 
- /*
-  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting

diff --git a/app-emulation/vmware-modules/files/271-putname.patch b/app-emulation/vmware-modules/files/271-putname.patch
deleted file mode 100644
index 6e76130..0000000
--- a/app-emulation/vmware-modules/files/271-putname.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c
-index 79716bd..2dd83fe 100644
---- a/vmblock-only/linux/control.c
-+++ b/vmblock-only/linux/control.c
-@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf,                // IN: buffer with name
- 
-    retval = i < 0 ? -EINVAL : blockOp(name, blocker);
- 
--   putname(name);
-+   __putname(name);
- 
-    return retval;
- }

diff --git a/app-emulation/vmware-modules/files/279-3.10-00-userns.patch b/app-emulation/vmware-modules/files/279-3.10-00-userns.patch
deleted file mode 100644
index b1b78b7..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-00-userns.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-correctly initializes UID/GID values
-gets UID correctly in light of user namespace API
-origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
-
---- a/vmblock-only/linux/inode.c   2013-03-20 17:37:48.000000000 +0100
-+++ b/vmblock-only/linux/inode.c   2013-03-20 17:41:22.000000000 +0100
-@@ -135,7 +135,8 @@
-    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
-    inode->i_version = 1;
-    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
--   inode->i_uid = inode->i_gid = 0;
-+   inode->i_uid = GLOBAL_ROOT_UID;
-+   inode->i_gid = GLOBAL_ROOT_GID;
-    inode->i_op = &LinkInodeOps;
- 
-    d_add(dentry, inode);
-
---- a/vmci-only/linux/driver.c    2013-03-20 17:57:35.000000000 +0100
-+++ b/vmci-only/linux/driver.c    2013-03-20 17:57:43.000000000 +0100
-@@ -740,7 +740,7 @@
-          goto init_release;
-       }
- 
--      user = current_uid();
-+      user = from_kuid(current_user_ns(), current_uid());
-       retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags,
-                                        0 /* Unused */, vmciLinux->userVersion,
-                                        &user, &vmciLinux->context);
-
---- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100
-+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100
-@@ -2866,7 +2866,7 @@
-       vsk->connectTimeout = psk->connectTimeout;
-    } else {
-       vsk->trusted = capable(CAP_NET_ADMIN);
--      vsk->owner = current_uid();
-+      vsk->owner = from_kuid(current_user_ns(), current_uid());
-       vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE;
-       vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN;
-       vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX;
-

diff --git a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch b/app-emulation/vmware-modules/files/279-3.10-01-getname.patch
deleted file mode 100644
index 05ed8db..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-uses __getname/__putname instead of getname. getname was deprecated
-the new code calls __getname (which really is a specific type of 
-memory allocator, then copies the string safely from user space
-into the allocated buffer
-
---- vmblock-only/linux/control.c	2014-03-15 15:28:40.871076076 +0100
-+++ vmblock-only/linux/control.c.new	2014-03-15 15:29:15.079074439 +0100
-@@ -279,11 +279,17 @@
-    int i;
-    int retval;
- 
--   name = getname(buf);
-+   name = __getname();
-    if (IS_ERR(name)) {
-       return PTR_ERR(name);
-    }
- 
-+   i = strncpy_from_user(name, buf, PATH_MAX);
-+   if (i < 0 || i == PATH_MAX) {
-+      __putname(name);
-+      return -EINVAL;
-+   }
-+
-    for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) {

diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
deleted file mode 100644
index 98b28aa..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-undefines DEPRECATED which is unfortunately also defined (as a string)
-in <linux/printk.h>. Realistically, this macro isn't even used, so this
-doesn't matter much. But it hushes some very loud warnings.
-
-diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h
---- vmblock-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
-+++ vmblock-only.new/shared/vm_assert.h	2014-10-11 17:37:23.010352172 -0400
-@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                     \
-                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
-                                        __FILE__, __LINE__, __FUNCTION__, \
-                                        _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h
---- vmci-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
-+++ vmci-only.new/shared/vm_assert.h	2014-10-11 17:37:08.936352130 -0400
-@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                     \
-                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
-                                        __FILE__, __LINE__, __FUNCTION__, \
-                                        _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h
---- vmmon-only/include/vm_assert.h	2014-04-14 20:06:20.000000000 -0400
-+++ vmmon-only.new/include/vm_assert.h	2014-10-11 17:36:45.289352058 -0400
-@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                     \
-                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
-                                        __FILE__, __LINE__, __FUNCTION__, \
-                                        _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h
---- vmnet-only/vm_assert.h	2014-04-14 20:06:21.000000000 -0400
-+++ vmnet-only.new/vm_assert.h	2014-10-11 17:37:14.364352146 -0400
-@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                     \
-                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
-                                        __FILE__, __LINE__, __FUNCTION__, \
-                                        _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 
-diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h
---- vsock-only/shared/vm_assert.h	2014-04-14 17:41:41.000000000 -0400
-+++ vsock-only.new/shared/vm_assert.h	2014-10-11 17:37:02.778352111 -0400
-@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con
- #define LOG_ONCE(_s) DO_ONCE(Log _s)
- 
- #ifdef VMX86_DEVEL
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) DO_ONCE(                                     \
-                                Warning("%s:%d: %s is DEPRECATED. %s\n",  \
-                                        __FILE__, __LINE__, __FUNCTION__, \
-                                        _fix))
- #else
-+   #undef DEPRECATED
-    #define DEPRECATED(_fix) do {} while (0)
- #endif
- 

diff --git a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch
deleted file mode 100644
index f4f59d9..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
-as the second argument, not a nameidata pointer! see fs/namei.c 
-for implementation
-
-diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c
---- vmblock-only/linux/dentry.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmblock-only/linux/dentry.c	2014-04-26 10:58:03.062635343 -0400
-@@ -32,7 +32,7 @@
- #include "block.h"
- 
- 
--static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd);
-+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags);
- 
- struct dentry_operations LinkDentryOps = {
-    .d_revalidate = DentryOpRevalidate,
-@@ -60,7 +60,7 @@
- 
- static int
- DentryOpRevalidate(struct dentry *dentry,  // IN: dentry revalidating
--                   struct nameidata *nd)   // IN: lookup flags & intent
-+                   unsigned int flags)   // IN: lookup flags & intent
- {
-    VMBlockInodeInfo *iinfo;
-    struct nameidata actualNd;
-@@ -101,7 +101,7 @@
-    if (actualDentry &&
-        actualDentry->d_op &&
-        actualDentry->d_op->d_revalidate) {
--      return actualDentry->d_op->d_revalidate(actualDentry, nd);
-+      return actualDentry->d_op->d_revalidate(actualDentry, flags);
-    }
- 
-    if (compat_path_lookup(iinfo->name, 0, &actualNd)) {

diff --git a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
deleted file mode 100644
index 01c8893..0000000
--- a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-starting with kernel 3.6, d_revalidate takes an unsigned int "flags"
-as the second argument, not a nameidata pointer! see fs/namei.c 
-for implementation. Also changing vfs_follow_link to nd_set_link.
-See: https://lkml.org/lkml/2013/9/9/236
-
-diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c
---- vmblock-only/linux/inode.c	2013-11-05 23:33:26.000000000 -0500
-+++ vmblock-only/linux/inode.c	2014-04-26 10:58:03.063635343 -0400
-@@ -36,7 +36,7 @@
- 
- /* Inode operations */
- static struct dentry *InodeOpLookup(struct inode *dir,
--                                    struct dentry *dentry, struct nameidata *nd);
-+                                    struct dentry *dentry, unsigned int flags);
- static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen);
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
- static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
-@@ -75,7 +75,7 @@
- static struct dentry *
- InodeOpLookup(struct inode *dir,      // IN: parent directory's inode
-               struct dentry *dentry,  // IN: dentry to lookup
--              struct nameidata *nd)   // IN: lookup intent and information
-+              unsigned int flags)   // IN: lookup intent and information
- {
-    char *filename;
-    struct inode *inode;
-@@ -221,7 +221,8 @@
-       goto out;
-    }
- 
--   ret = vfs_follow_link(nd, iinfo->name);
-+   nd_set_link(nd, iinfo->name);
-+   ret = 0;
- 
- out:
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)

diff --git a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch
deleted file mode 100644
index b8ee078..0000000
--- a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-replacing usage of vfs_readlink with new readlink_copy API
-see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090
-
-diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c
---- vmblock-only/linux/inode.c	2014-10-05 23:20:14.545218357 -0400
-+++ vmblock-only/linux/inode.c	2014-10-05 23:33:01.549259933 -0400
-@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry,
-       return -EINVAL;
-    }
- 
--   return vfs_readlink(dentry, buffer, buflen, iinfo->name);
-+   return readlink_copy(buffer, buflen, iinfo->name);
- }
- 
- 

diff --git a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch
deleted file mode 100644
index 9e8d9d1..0000000
--- a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-removing the no longer existing second parameter to sk_data_ready
-doesn't seem it ever served a purpose.
-
-diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c
---- vsock-only/linux/notify.c	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only.new/linux/notify.c	2014-10-05 23:46:47.943304728 -0400
-@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk,
-    vsk = vsock_sk(sk);
-    PKT_FIELD(vsk, sentWaitingRead) = FALSE;
- #endif
--
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+   sk->sk_data_ready(sk);
-+#else
-    sk->sk_data_ready(sk, 0);
-+#endif
- }
- 
- 
-diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c
---- vsock-only/linux/notifyQState.c	2013-11-05 23:33:27.000000000 -0500
-+++ vsock-only.new/linux/notifyQState.c	2014-10-05 23:46:33.231303931 -0400
-@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk,
-                      struct sockaddr_vm *dst,    // IN: unused
-                      struct sockaddr_vm *src)    // IN: unused
- {
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+   sk->sk_data_ready(sk);
-+#else
-    sk->sk_data_ready(sk, 0);
-+#endif
- }
- 
- 
-@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct
-       }
- 
-       /* See the comment in VSockVmciNotifyPktSendPostEnqueue */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0)
-+      sk->sk_data_ready(sk);
-+#else
-       sk->sk_data_ready(sk, 0);
-+#endif
-    }
- 
-    return err;

diff --git a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch
deleted file mode 100644
index e3ee3aa..0000000
--- a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-new alloc_netdev requires a new parameter. All examples in the kernel i've seen just
-use the constant NET_NAME_UNKNOWN.
-origionally from: https://communities.vmware.com/message/2425189
-
-diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c
---- vmnet-only/netif.c	2013-11-06 00:40:52.000000000 -0500
-+++ vmnet-only.new/netif.c	2014-10-09 17:29:12.361307961 -0400
-@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName,  // IN:
-    memcpy(deviceName, devName, sizeof deviceName);
-    NULL_TERMINATE_STRING(deviceName);
- 
--   dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup);
-+   dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup);
-    if (!dev) {
-       retval = -ENOMEM;
-       goto out;

diff --git a/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch
deleted file mode 100644
index 2d38824..0000000
--- a/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/vmci-only/shared/vm_device_version.h	2015-02-07 03:11:55.000000000 +0300
-+++ c/vmci-only/shared/vm_device_version.h	2015-02-24 03:58:06.041605450 +0300
-@@ -53,7 +53,9 @@
-  *    VMware HD Audio codec
-  *    VMware HD Audio controller
-  */
-+#ifndef PCI_VENDOR_ID_VMWARE
- #define PCI_VENDOR_ID_VMWARE                    0x15AD
-+#endif
- #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
- #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
- #define PCI_DEVICE_ID_VMWARE_VGA                0x0711
---- a/vmnet-only/vm_device_version.h	2015-02-07 03:54:16.000000000 +0300
-+++ c/vmnet-only/vm_device_version.h	2015-02-24 03:58:06.044604981 +0300
-@@ -53,7 +53,9 @@
-  *    VMware HD Audio codec
-  *    VMware HD Audio controller
-  */
-+#ifndef PCI_VENDOR_ID_VMWARE                    
- #define PCI_VENDOR_ID_VMWARE                    0x15AD
-+#endif
- #define PCI_DEVICE_ID_VMWARE_SVGA2              0x0405
- #define PCI_DEVICE_ID_VMWARE_SVGA               0x0710
- #define PCI_DEVICE_ID_VMWARE_VGA                0x0711

diff --git a/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch
deleted file mode 100644
index ec73500..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/vmblock-only/shared/compat_namei.h	2015-02-07 03:11:55.000000000 +0300
-+++ c/vmblock-only/shared/compat_namei.h	2015-02-24 03:51:25.235286047 +0300
-@@ -21,6 +21,20 @@
- 
- #include <linux/namei.h>
- 
-+/* Copy-n-paste from kernel's source/fs/namei.c */
-+struct nameidata {
-+         struct path     path;
-+         struct qstr     last;
-+         struct path     root;
-+         struct inode    *inode; /* path.dentry.d_inode */
-+         unsigned int    flags;
-+         unsigned        seq, m_seq;
-+         int             last_type;
-+         unsigned        depth;
-+         struct file     *base;
-+         char *saved_names[MAX_NESTED_LINKS + 1];
-+};
-+
- /*
-  * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata
-  * struct. They were both replaced with a struct path.

diff --git a/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch b/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch
deleted file mode 100644
index 6f11a52..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch
+++ /dev/null
@@ -1,13 +0,0 @@
---- a/vmnet-only/driver.c	2015-02-07 03:54:17.000000000 +0300
-+++ c/vmnet-only/driver.c	2015-02-24 03:58:06.043605137 +0300
-@@ -1191,8 +1191,8 @@
-    struct inode *inode = NULL;
-    long err;
-
--   if (filp && filp->f_dentry) {
--      inode = filp->f_dentry->d_inode;
-+   if (filp && filp->f_path.dentry) {
-+      inode = filp->f_path.dentry->d_inode;
-    }
-    err = VNetFileOpIoctl(inode, filp, iocmd, ioarg);
-    return err;

diff --git a/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch
deleted file mode 100644
index 178d147..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch
+++ /dev/null
@@ -1,67 +0,0 @@
-Sources:
-https://531682.bugs.gentoo.org/attachment.cgi?id=396484
-https://531682.bugs.gentoo.org/attachment.cgi?id=396482
-diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c
---- vmblock-only.orig/linux/dentry.c	2015-02-14 18:05:46.000000000 -0500
-+++ vmblock-only/linux/dentry.c	2015-02-14 18:09:59.000000000 -0500
-@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry
-                    unsigned int flags)   // IN: lookup flags & intent
- {
-    VMBlockInodeInfo *iinfo;
--   struct nameidata actualNd;
-+   struct path actualNd;
-    struct dentry *actualDentry;
-    int ret;
- 
-diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c
---- vmblock-only.orig/linux/filesystem.c	2014-11-20 19:29:15.000000000 -0500
-+++ vmblock-only/linux/filesystem.c	2015-02-14 18:10:49.000000000 -0500
-@@ -322,7 +322,7 @@ Iget(struct super_block *sb,    // IN: f
- {
-    VMBlockInodeInfo *iinfo;
-    struct inode *inode;
--   struct nameidata actualNd;
-+   struct path actualNd;
- 
-    ASSERT(sb);
- 
-diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h
---- vmblock-only.orig/shared/compat_namei.h	2014-11-20 19:29:15.000000000 -0500
-+++ vmblock-only/shared/compat_namei.h	2015-02-14 18:08:38.000000000 -0500
-@@ -26,21 +26,21 @@
-  * struct. They were both replaced with a struct path.
-  */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
--#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry
-+#define compat_vmw_nd_to_dentry(nd) (nd).dentry
- #else
- #define compat_vmw_nd_to_dentry(nd) (nd).dentry
- #endif
- 
- /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25)
--#define compat_path_release(nd) path_put(&(nd)->path)
-+#define compat_path_release(nd) path_put(nd)
- #else
- #define compat_path_release(nd) path_release(nd)
- #endif
- 
- /* path_lookup was removed in 2.6.39 merge window VFS merge */
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
--#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, &((nd)->path))
-+#define compat_path_lookup(name, flags, nd)     kern_path(name, flags, nd)
- #else
- #define compat_path_lookup(name, flags, nd)     path_lookup(name, flags, nd)
- #endif
-diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c
---- vmblock-only.orig/linux/file.c	2015-02-11 12:18:29.000000000 -0500
-+++ vmblock-only/linux/file.c	2015-02-11 12:41:41.000000000 -0500
-@@ -92,7 +92,7 @@
-     * and that would try to acquire the inode's semaphore; if the two inodes
-     * are the same we'll deadlock.
-     */
--   if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) {
-+   if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) {
-       Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n");
-       if (filp_close(actualFile, current->files) < 0) {
-          Warning("FileOpOpen: unable to close opened file.\n");

diff --git a/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch
deleted file mode 100644
index b016fec..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/vmnet-only/userif.c	2015-02-07 03:54:17.000000000 +0300
-+++ c/vmnet-only/userif.c	2015-02-24 03:58:06.043605137 +0300
-@@ -523,7 +523,15 @@
-       .iov_base = buf,
-       .iov_len  = len,
-    };
--   return skb_copy_datagram_iovec(skb, 0, &iov, len);
-+
-+
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
-+	return skb_copy_datagram_iovec(skb, 0, &iov, len);
-+#else
-+	struct iov_iter to;
-+	iov_iter_init(&to, READ, &iov, 1, len);
-+	return skb_copy_datagram_iter(skb, 0, &to, len);
-+#endif
- }
- 
- 

diff --git a/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
deleted file mode 100644
index 9103c55..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -rupN vmci-only.old/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c
---- vmci-only.old/linux/vmciKernelIf.c	2015-04-28 18:05:56.000000000 +0000
-+++ vmci-only/linux/vmciKernelIf.c	2015-07-06 08:02:08.314262258 +0000
-@@ -40,6 +40,7 @@
- #include <linux/socket.h>       /* For memcpy_{to,from}iovec(). */
- #include <linux/vmalloc.h>
- #include <linux/wait.h>
-+#include <linux/skbuff.h>
- 
- #include "compat_highmem.h"
- #include "compat_interrupt.h"
-@@ -1227,11 +1228,11 @@ __VMCIMemcpyToQueue(VMCIQueue *queue,
-       }
- 
-       if (isIovec) {
--         struct iovec *iov = (struct iovec *)src;
-+         struct msghdr *msg = (struct msghdr *)src;
-          int err;
- 
-          /* The iovec will track bytesCopied internally. */
--         err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy);
-+         err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy);
-          if (err != 0) {
-             if (!kernelIf->isDataMapped) {
-                kunmap(kernelIf->page[pageIndex]);
-@@ -1302,11 +1303,11 @@ __VMCIMemcpyFromQueue(void *dest,
-       }
- 
-       if (isIovec) {
--         struct iovec *iov = (struct iovec *)dest;
-+         struct msghdr *msg = (struct msghdr *)dest;
-          int err;
- 
-          /* The iovec will track bytesCopied internally. */
--         err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy);
-+         err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy);
-          if (err != 0) {
-             if (!kernelIf->isDataMapped) {
-                kunmap(kernelIf->page[pageIndex]);

diff --git a/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch
deleted file mode 100644
index 1849a37..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c
---- vsock-only.old/linux/af_vsock.c     2015-05-06 20:41:47.684046762 -0400
-+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400
-@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio
-        * able to send.
-        */
- 
--      written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
-+      written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov,
-                                   len - totalWritten, 0);
-       if (written < 0) {
-          err = -ENOMEM;
-@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
-          }
- 
-          if (flags & MSG_PEEK) {
--            read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
-+            read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
-          } else {
--            read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
-+            read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0);
-          }
- 
-          if (read < 0) {

diff --git a/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch
deleted file mode 100644
index 2e41230..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
---- vsock-only/linux/af_vsock.c	2015-05-05 11:31:35.710099711 -0400
-+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:36:33.260115840 -0400
-@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc
-    }
- 
-    /* Place the datagram payload in the user's iovec. */
-+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0)
-    err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen);
-+#else
-+   err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen);
-+#endif
-    if (err) {
-       goto out;
-    }

diff --git a/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch
deleted file mode 100644
index 8c9d3cb..0000000
--- a/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c
---- vsock-only/linux/af_vsock.c	2015-05-05 11:26:05.145081792 -0400
-+++ vsock-only.new/linux/af_vsock.c	2015-05-05 11:30:54.304097466 -0400
-@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc
-       goto out;
-    }
- 
--   memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len);
-+   memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len);
- 
-    dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port);
-    dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port);

diff --git a/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch b/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch
deleted file mode 100644
index e2ab8a1..0000000
--- a/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch
+++ /dev/null
@@ -1,79 +0,0 @@
-See https://bugs.gentoo.org/show_bug.cgi?id=559602
-Patch by Mike Auty <ikelos@gentoo.org>
-
-diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c
-index 4811abd..2cbc1f6 100644
---- a/vmblock-only/linux/inode.c
-+++ b/vmblock-only/linux/inode.c
-@@ -38,7 +38,9 @@
- static struct dentry *InodeOpLookup(struct inode *dir,
-                                     struct dentry *dentry, unsigned int flags);
- static int InodeOpReadlink(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 const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); 
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
- static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
- #else
- static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd);
-@@ -207,7 +209,12 @@ static void *
- static int
- #endif
- InodeOpFollowlink(struct dentry *dentry,  // IN : dentry of symlink
--                  struct nameidata *nd)   // OUT: stores result
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
-+		  void **cookie
-+#else
-+		  struct nameidata *nd
-+#endif
-+		  )   // OUT: stores result
- {
-    int ret;
-    VMBlockInodeInfo *iinfo;
-diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c
-index acb2803..4811abd 100644
---- a/vmblock-only/linux/inode.c
-+++ b/vmblock-only/linux/inode.c
-@@ -199,7 +199,9 @@ InodeOpReadlink(struct dentry *dentry,  // IN : dentry of symlink
-  *----------------------------------------------------------------------------
-  */
- 
--#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
-+static const char *
-+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
- static void *
- #else
- static int
-@@ -222,8 +224,12 @@ InodeOpFollowlink(struct dentry *dentry,  // IN : dentry of symlink
-       goto out;
-    }
- 
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)
-+   return *cookie = (char *)(iinfo->name);
-+#else
-    nd_set_link(nd, iinfo->name);
-    ret = 0;
-+#endif
- 
- out:
- #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
-diff --git a/vmnet-only/vmnetInt.h b/vmnet-only/vmnetInt.h
-index 23b5d19..d129f7b 100644
---- a/vmnet-only/vmnetInt.h
-+++ b/vmnet-only/vmnetInt.h
-@@ -78,8 +78,13 @@
- 
- extern struct proto vmnet_proto;
- #ifdef VMW_NETDEV_HAS_NET
-+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0)  
- #   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
--                                                PF_NETLINK, _pri, &vmnet_proto)
-+						PF_NETLINK, _pri, &vmnet_proto, 1)
-+# else
-+#   define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \
-+						PF_NETLINK, _pri, &vmnet_proto)
-+# endif
- #else
- #   define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)
- #endif

diff --git a/app-emulation/vmware-modules/files/279-5.10-00-userns.patch b/app-emulation/vmware-modules/files/279-5.10-00-userns.patch
deleted file mode 100644
index 7a1bb98..0000000
--- a/app-emulation/vmware-modules/files/279-5.10-00-userns.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-correctly initializes UID/GID values
-gets UID correctly in light of user namespace API
-origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888
-
---- a/vmblock-only/linux/inode.c   2013-03-20 17:37:48.000000000 +0100
-+++ b/vmblock-only/linux/inode.c   2013-03-20 17:41:22.000000000 +0100
-@@ -135,7 +135,8 @@
-    inode->i_size = INODE_TO_IINFO(inode)->nameLen;
-    inode->i_version = 1;
-    inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME;
--   inode->i_uid = inode->i_gid = 0;
-+   inode->i_uid = GLOBAL_ROOT_UID;
-+   inode->i_gid = GLOBAL_ROOT_GID;
-    inode->i_op = &LinkInodeOps;
- 
-    d_add(dentry, inode);

diff --git a/app-emulation/vmware-modules/files/279-apic.patch b/app-emulation/vmware-modules/files/279-apic.patch
deleted file mode 100644
index 66cd459..0000000
--- a/app-emulation/vmware-modules/files/279-apic.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
-index f1f4b10..c43242f 100644
---- a/vmmon-only/linux/hostif.c
-+++ b/vmmon-only/linux/hostif.c
-@@ -55,6 +55,7 @@
- #include <linux/kthread.h>
- #include <linux/wait.h>
- 
-+#include <asm/apic.h>
- 
- #include "vmware.h"
- #include "x86apic.h"

diff --git a/app-emulation/vmware-modules/files/279-filldir.patch b/app-emulation/vmware-modules/files/279-filldir.patch
deleted file mode 100644
index 6eb1f31..0000000
--- a/app-emulation/vmware-modules/files/279-filldir.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c
-index d7ac1f6..5499169 100644
---- a/vmblock-only/linux/file.c
-+++ b/vmblock-only/linux/file.c
-@@ -38,46 +38,6 @@ typedef u64 inode_num_t;
- typedef ino_t inode_num_t;
- #endif
- 
--/* Specifically for our filldir_t callback */
--typedef struct FilldirInfo {
--   filldir_t filldir;
--   void *dirent;
--} FilldirInfo;
--
--
--/*
-- *----------------------------------------------------------------------------
-- *
-- * Filldir --
-- *
-- *    Callback function for readdir that we use in place of the one provided.
-- *    This allows us to specify that each dentry is a symlink, but pass through
-- *    everything else to the original filldir function.
-- *
-- * Results:
-- *    Original filldir's return value.
-- *
-- * Side effects:
-- *    Directory information gets copied to user's buffer.
-- *
-- *----------------------------------------------------------------------------
-- */
--
--static int
--Filldir(void *buf,              // IN: Dirent buffer passed from FileOpReaddir
--        const char *name,       // IN: Dirent name
--        int namelen,            // IN: len of dirent's name
--        loff_t offset,          // IN: Offset
--        inode_num_t ino,        // IN: Inode number of dirent
--        unsigned int d_type)    // IN: Type of file
--{
--   FilldirInfo *info = buf;
--
--   /* Specify DT_LNK regardless */
--   return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK);
--}
--
--
- /* File operations */
- 
- /*
-@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode,  // IN
- 
- static int
- FileOpReaddir(struct file *file,  // IN
--              void *dirent,       // IN
--              filldir_t filldir)  // IN
-+              struct dir_context *ctx)  // IN
- {
-    int ret;
--   FilldirInfo info;
-+
-    struct file *actualFile;
- 
-    if (!file) {
-@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file,  // IN
-       return -EINVAL;
-    }
- 
--   info.filldir = filldir;
--   info.dirent = dirent;
--
--   actualFile->f_pos = file->f_pos;
--   ret = vfs_readdir(actualFile, Filldir, &info);
--   file->f_pos = actualFile->f_pos;
-+   /* Ricky Wong Yung Fei:
-+    * Manipulation of pos is now handled internally by iterate_dir().
-+    */
-+   ret = iterate_dir(actualFile, ctx);
- 
-    return ret;
- }
-@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN
- 
- 
- struct file_operations RootFileOps = {
--   .readdir = FileOpReaddir,
-+   .iterate = FileOpReaddir,
-    .open    = FileOpOpen,
-    .release = FileOpRelease,
- };

diff --git a/app-emulation/vmware-modules/files/279-hardened.patch b/app-emulation/vmware-modules/files/279-hardened.patch
deleted file mode 100644
index cc3e041..0000000
--- a/app-emulation/vmware-modules/files/279-hardened.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c
-index b21dd44..960c2aa 100644
---- a/vmmon-only/linux/driver.c
-+++ b/vmmon-only/linux/driver.c
-@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = {
- #endif
- };
- 
--static struct file_operations vmuser_fops;
-+static struct file_operations vmuser_fops = {
-+   .owner = THIS_MODULE,
-+   .poll = LinuxDriverPoll,
-+#ifdef HAVE_UNLOCKED_IOCTL
-+   .unlocked_ioctl = LinuxDriver_UnlockedIoctl,
-+#else
-+   .ioctl = LinuxDriver_Ioctl,
-+#endif
-+#ifdef HAVE_COMPAT_IOCTL
-+   .compat_ioctl = LinuxDriver_UnlockedIoctl,
-+#endif
-+   .open = LinuxDriver_Open,
-+   .release = LinuxDriver_Close,
-+   .mmap = LinuxDriverMmap
-+};
-+
- static struct timer_list tscTimer;
- 
- /*
-@@ -357,27 +372,6 @@ init_module(void)
-    spin_lock_init(&linuxState.pollListLock);
- #endif
- 
--   /*
--    * Initialize the file_operations structure. Because this code is always
--    * compiled as a module, this is fine to do it here and not in a static
--    * initializer.
--    */
--
--   memset(&vmuser_fops, 0, sizeof vmuser_fops);
--   vmuser_fops.owner = THIS_MODULE;
--   vmuser_fops.poll = LinuxDriverPoll;
--#ifdef HAVE_UNLOCKED_IOCTL
--   vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl;
--#else
--   vmuser_fops.ioctl = LinuxDriver_Ioctl;
--#endif
--#ifdef HAVE_COMPAT_IOCTL
--   vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl;
--#endif
--   vmuser_fops.open = LinuxDriver_Open;
--   vmuser_fops.release = LinuxDriver_Close;
--   vmuser_fops.mmap = LinuxDriverMmap;
--
- #ifdef VMX86_DEVEL
-    devel_init_module();
-    linuxState.minor = 0;
-diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
-index b12b982..40bd4cf 100644
---- a/vmnet-only/driver.c
-+++ b/vmnet-only/driver.c
-@@ -165,7 +165,22 @@ static long  VNetFileOpUnlockedIoctl(struct file * filp,
-                                      unsigned int iocmd, unsigned long ioarg);
- #endif
- 
--static struct file_operations vnetFileOps;
-+static struct file_operations vnetFileOps = {
-+   .owner = THIS_MODULE,
-+   .read = VNetFileOpRead,
-+   .write = VNetFileOpWrite,
-+   .poll = VNetFileOpPoll,
-+#ifdef HAVE_UNLOCKED_IOCTL
-+   .unlocked_ioctl = VNetFileOpUnlockedIoctl,
-+#else
-+   .ioctl = VNetFileOpIoctl,
-+#endif
-+#ifdef HAVE_COMPAT_IOCTL
-+   .compat_ioctl = VNetFileOpUnlockedIoctl,
-+#endif
-+   .open = VNetFileOpOpen,
-+   .release = VNetFileOpClose
-+};
- 
- /*
-  * Utility functions
-@@ -476,28 +491,6 @@ init_module(void)
-       goto err_proto;
-    }
- 
--   /*
--    * Initialize the file_operations structure. Because this code is always
--    * compiled as a module, this is fine to do it here and not in a static
--    * initializer.
--    */
--
--   memset(&vnetFileOps, 0, sizeof vnetFileOps);
--   vnetFileOps.owner = THIS_MODULE;
--   vnetFileOps.read = VNetFileOpRead;
--   vnetFileOps.write = VNetFileOpWrite;
--   vnetFileOps.poll = VNetFileOpPoll;
--#ifdef HAVE_UNLOCKED_IOCTL
--   vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl;
--#else
--   vnetFileOps.ioctl = VNetFileOpIoctl;
--#endif
--#ifdef HAVE_COMPAT_IOCTL
--   vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl;
--#endif
--   vnetFileOps.open = VNetFileOpOpen;
--   vnetFileOps.release = VNetFileOpClose;
--
-    retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps);
-    if (retval) {
-       LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n",

diff --git a/app-emulation/vmware-modules/files/279-makefile-include.patch b/app-emulation/vmware-modules/files/279-makefile-include.patch
deleted file mode 100644
index 39c3000..0000000
--- a/app-emulation/vmware-modules/files/279-makefile-include.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel
-index ab7a727..e3ec9d2 100644
---- a/vmblock-only/Makefile.kernel
-+++ b/vmblock-only/Makefile.kernel
-@@ -19,7 +19,7 @@
- 
- INCLUDE += -I$(SRCROOT)/include
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, )
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c,   -DVMW_KMEMCR_CTOR_HAS_3_ARGS, )
-diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel
-index ba343ee..861ea83 100644
---- a/vmci-only/Makefile.kernel
-+++ b/vmci-only/Makefile.kernel
-@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI
- 
- INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- obj-m += $(DRIVER).o
- 
-diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel
-index 8770d1d..c4746c3 100644
---- a/vmmon-only/Makefile.kernel
-+++ b/vmmon-only/Makefile.kernel
-@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE
- INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \
- 	   -I$(SRCROOT)/vmcore
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- 
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, )
- 
-diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel
-index d1e3133..665d428 100644
---- a/vmnet-only/Makefile.kernel
-+++ b/vmnet-only/Makefile.kernel
-@@ -19,7 +19,7 @@
- 
- INCLUDE := -I$(SRCROOT)
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, )
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, )
- EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, )
-diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel
-index b4629ee..264b8cb 100644
---- a/vsock-only/Makefile.kernel
-+++ b/vsock-only/Makefile.kernel
-@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include
- INCLUDE += -I$(SRCROOT)/linux
- INCLUDE += -I$(SRCROOT)/common
- 
--EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE)
-+EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE)
- EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, )
- 
- 

diff --git a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch
deleted file mode 100644
index 1a647a3..0000000
--- a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch
+++ /dev/null
@@ -1,85 +0,0 @@
-diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile
-index 2b81323..746c8b8 100644
---- a/vmblock-only/Makefile
-+++ b/vmblock-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmblock
- PRODUCT := ws
-diff --git a/vmci-only/Makefile b/vmci-only/Makefile
-index 8e9c5be..6ec828b 100644
---- a/vmci-only/Makefile
-+++ b/vmci-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmci
- PRODUCT := ws
-diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile
-index 5bd867b..91a83d4 100644
---- a/vmmon-only/Makefile
-+++ b/vmmon-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmmon
- PRODUCT := @@PRODUCT@@
-diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile
-index d4eb73c..c7c6d38 100644
---- a/vmnet-only/Makefile
-+++ b/vmnet-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vmnet
- PRODUCT := @@PRODUCT@@
-diff --git a/vsock-only/Makefile b/vsock-only/Makefile
-index 93dd61d..9765696 100644
---- a/vsock-only/Makefile
-+++ b/vsock-only/Makefile
-@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r)
- ifdef LINUXINCLUDE
- HEADER_DIR = $(LINUXINCLUDE)
- else
--HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include
-+HEADER_DIR = $(KERNEL_DIR)
- endif
- 
--BUILD_DIR = $(HEADER_DIR)/..
-+BUILD_DIR = $(KBUILD_OUTPUT)
- 
- DRIVER := vsock
- PRODUCT := ws

diff --git a/app-emulation/vmware-modules/files/279-netdevice.patch b/app-emulation/vmware-modules/files/279-netdevice.patch
deleted file mode 100644
index 35231a3..0000000
--- a/app-emulation/vmware-modules/files/279-netdevice.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h
-index 7a56304..9ff4548 100644
---- a/vmnet-only/compat_netdevice.h
-+++ b/vmnet-only/compat_netdevice.h
-@@ -47,6 +47,19 @@
- #   define net_device device
- #endif
- 
-+/* it looks like these have been removed from the kernel 3.1
-+ * probably because the "transition" is considered complete.
-+ * so to keep this source compatible we just redefine them like they were
-+ * previously
-+ */
-+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
-+#define HAVE_ALLOC_NETDEV		/* feature macro: alloc_xxxdev
-+					   functions are available. */
-+#define HAVE_FREE_NETDEV		/* free_netdev() */
-+#define HAVE_NETDEV_PRIV		/* netdev_priv() */
-+#define HAVE_NETIF_QUEUE
-+#define HAVE_NET_DEVICE_OPS
-+#endif
- 
- /*
-  * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting

diff --git a/app-emulation/vmware-modules/files/279-putname.patch b/app-emulation/vmware-modules/files/279-putname.patch
deleted file mode 100644
index 6e76130..0000000
--- a/app-emulation/vmware-modules/files/279-putname.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c
-index 79716bd..2dd83fe 100644
---- a/vmblock-only/linux/control.c
-+++ b/vmblock-only/linux/control.c
-@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf,                // IN: buffer with name
- 
-    retval = i < 0 ? -EINVAL : blockOp(name, blocker);
- 
--   putname(name);
-+   __putname(name);
- 
-    return retval;
- }

diff --git a/app-emulation/vmware-modules/files/279-vmblock.patch b/app-emulation/vmware-modules/files/279-vmblock.patch
deleted file mode 100644
index 0daf603..0000000
--- a/app-emulation/vmware-modules/files/279-vmblock.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff -ruN work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control.c
---- work.orig/vmblock-only/linux/control.c	2013-11-02 18:05:39.960226399 +0100
-+++ work/vmblock-only/linux/control.c	2013-11-02 18:09:11.760231432 +0100
-@@ -208,17 +208,14 @@
-    VMBlockSetProcEntryOwner(controlProcMountpoint);
- 
-    /* Create /proc/fs/vmblock/dev */
--   controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME,
--                                        VMBLOCK_CONTROL_MODE,
--                                        controlProcDirEntry);
--   if (!controlProcEntry) {
-+   controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, VMBLOCK_CONTROL_MODE, controlProcDirEntry, &ControlFileOps);
-+   if (controlProcEntry == NULL) {
-       Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n");
-       remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry);
-       remove_proc_entry(VMBLOCK_CONTROL_PROC_DIRNAME, NULL);
-       return -EINVAL;
-    }
- 
--   controlProcEntry->proc_fops = &ControlFileOps;
-    return 0;
- }
- 

diff --git a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
deleted file mode 100644
index 7d798a4..0000000
--- a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI="4"
-
-inherit eutils flag-o-matic linux-info linux-mod user versionator udev
-
-PV_MAJOR=$(get_major_version)
-PV_MINOR=$(get_version_component_range 2)
-
-DESCRIPTION="VMware kernel modules"
-HOMEPAGE="http://www.vmware.com/"
-
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="pax_kernel"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	|| ( =app-emulation/vmware-player-5.0.${PV_MINOR}*
-	=app-emulation/vmware-workstation-9.0.${PV_MINOR}* )"
-
-S=${WORKDIR}
-
-pkg_setup() {
-	CONFIG_CHECK="~HIGH_RES_TIMERS"
-	if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
-		CONFIG_CHECK="${CONFIG_CHECK} BKL"
-	fi
-
-	linux-info_pkg_setup
-
-	linux-mod_pkg_setup
-
-	VMWARE_GROUP=${VMWARE_GROUP:-vmware}
-
-	VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock"
-	VMWARE_MOD_DIR="${PN}-${PVR}"
-
-	BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
-
-	enewgroup "${VMWARE_GROUP}"
-	filter-flags -mfpmath=sse -mavx -mpclmul -maes
-
-	for mod in ${VMWARE_MODULE_LIST}; do
-		MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
-	done
-}
-
-src_unpack() {
-	cd "${S}"
-	for mod in ${VMWARE_MODULE_LIST}; do
-		tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
-	done
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
-	use pax_kernel && epatch "${FILESDIR}/${PV_MAJOR}-hardened.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
-	kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
-
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-userns.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-create_proc_entry.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-getname.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-unused-typedef.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-dentry.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-06-inode.patch"
-
-	# fixes a memcpy/memcmp bug in the hub code
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-07-hub.patch"
-
-	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch"
-	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch"
-	kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch"
-	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
-	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
-	kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
-
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-vmnet-warning.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-vmblock-path.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmci.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-vmnet.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-vsock.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vsock.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vmci_qpair.patch"
-
-	# Allow user patches so they can support RC kernels and whatever else
-	epatch_user
-}
-
-src_install() {
-	linux-mod_src_install
-	local udevrules="${T}/60-vmware.rules"
-	cat > "${udevrules}" <<-EOF
-		KERNEL=="vmci",  GROUP="vmware", MODE="660"
-		KERNEL=="vmmon", GROUP="vmware", MODE="660"
-		KERNEL=="vsock", GROUP="vmware", MODE="660"
-	EOF
-	udev_dorules "${udevrules}"
-}

diff --git a/app-emulation/vmware-modules/vmware-modules-279.6.ebuild b/app-emulation/vmware-modules/vmware-modules-279.6.ebuild
deleted file mode 100644
index f10f4ee..0000000
--- a/app-emulation/vmware-modules/vmware-modules-279.6.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2015 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Id$
-
-EAPI=5
-
-inherit eutils flag-o-matic linux-info linux-mod user versionator udev
-
-PV_MAJOR=$(get_major_version)
-PV_MINOR=$(get_version_component_range 2)
-
-DESCRIPTION="VMware kernel modules"
-HOMEPAGE="http://www.vmware.com/"
-
-SRC_URI=""
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="pax_kernel +vmci +vsock"
-
-RDEPEND=""
-DEPEND="${RDEPEND}
-	|| ( =app-emulation/vmware-player-6.0.${PV_MINOR}*
-	=app-emulation/vmware-workstation-10.0.${PV_MINOR}* )"
-
-S=${WORKDIR}
-
-pkg_setup() {
-	CONFIG_CHECK="~HIGH_RES_TIMERS"
-	if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then
-		CONFIG_CHECK="${CONFIG_CHECK} BKL"
-	fi
-	if use vmci ; then
-		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI"
-	else
-		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI"
-	fi
-	if use vsock ; then
-		CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS"
-	else
-		CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS"
-	fi
-
-	linux-info_pkg_setup
-
-	linux-mod_pkg_setup
-
-	VMWARE_GROUP=${VMWARE_GROUP:-vmware}
-
-	VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock"
-	VMWARE_MODULE_LIST="vmblock vmmon vmnet"
-	use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci"
-	use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock"
-
-	VMWARE_MOD_DIR="${PN}-${PVR}"
-
-	BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}"
-
-	enewgroup "${VMWARE_GROUP}"
-	filter-flags -mfpmath=sse -mavx -mpclmul -maes
-
-	for mod in ${VMWARE_MODULE_LIST}; do
-		MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)"
-	done
-}
-
-src_unpack() {
-	cd "${S}"
-	for mod in ${VMWARE_MODULE_LIST_ALL}; do
-		tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar
-	done
-}
-
-src_prepare() {
-	epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch"
-	use pax_kernel && epatch "${FILESDIR}/279-hardened.patch"
-	epatch "${FILESDIR}/${PV_MAJOR}-apic.patch"
-	kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-5.10-00-userns.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch"
-	#kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch"
-	kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch"
-	kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch"
-	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch"
-	kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch"
-	kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch"
-	kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch"
-	kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch"
-	kernel_is ge 4 2 0  && epatch "${FILESDIR}/${PV_MAJOR}-4.2-00-cookie.patch"
-
-	# Allow user patches so they can support RC kernels and whatever else
-	epatch_user
-}
-
-src_install() {
-	linux-mod_src_install
-	local udevrules="${T}/60-vmware.rules"
-	cat > "${udevrules}" <<-EOF
-		KERNEL=="vmci",  GROUP="vmware", MODE="660"
-		KERNEL=="vmw_vmci",  GROUP="vmware", MODE="660"
-		KERNEL=="vmmon", GROUP="vmware", MODE="660"
-		KERNEL=="vsock", GROUP="vmware", MODE="660"
-	EOF
-	udev_dorules "${udevrules}"
-}


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-05-30 21:52 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2016-05-30 21:52 UTC (permalink / raw
  To: gentoo-commits

commit:     92a78cb3305fc182764cb0c6b2c44892dcc35212
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Mon May 30 21:50:44 2016 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Mon May 30 21:50:44 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=92a78cb3

app-emulation/vmware-modules: add support to kernel 4.7

Fix compilation with latest 4.7-rc1 taking example from
kernel commit 860e9538a9482bb84589f7d0718a7e6d0a944d58

 .../vmware-modules/files/304-4.7-00-trans_start.patch         | 11 +++++++++++
 .../vmware-modules/files/308-4.07-00-trans_start.patch        | 11 +++++++++++
 app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild   |  1 +
 app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild    |  1 +
 4 files changed, 24 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-4.7-00-trans_start.patch b/app-emulation/vmware-modules/files/304-4.7-00-trans_start.patch
new file mode 100644
index 0000000..751924f
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.7-00-trans_start.patch
@@ -0,0 +1,11 @@
+--- ./vmnet-only/netif.c.old	2016-05-19 20:13:14.259914206 +0200
++++ ./vmnet-only/netif.c	2016-05-19 20:13:21.250914596 +0200
+@@ -465,7 +465,7 @@
+    VNetSend(&netIf->port.jack, skb);
+ 
+    netIf->stats.tx_packets++;
+-   dev->trans_start = jiffies;
++   netif_trans_update(dev);
+ 
+    return 0;
+ }

diff --git a/app-emulation/vmware-modules/files/308-4.07-00-trans_start.patch b/app-emulation/vmware-modules/files/308-4.07-00-trans_start.patch
new file mode 100644
index 0000000..751924f
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.07-00-trans_start.patch
@@ -0,0 +1,11 @@
+--- ./vmnet-only/netif.c.old	2016-05-19 20:13:14.259914206 +0200
++++ ./vmnet-only/netif.c	2016-05-19 20:13:21.250914596 +0200
+@@ -465,7 +465,7 @@
+    VNetSend(&netIf->port.jack, skb);
+ 
+    netIf->stats.tx_packets++;
+-   dev->trans_start = jiffies;
++   netif_trans_update(dev);
+ 
+    return 0;
+ }

diff --git a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
index c56f4de..665965c 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
@@ -102,6 +102,7 @@ src_prepare() {
 	kernel_is ge 4 3 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.3-00-misc_deregister.patch"
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.5-00-get_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.6-00-user-pages.patch"
+	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.7-00-trans_start.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user

diff --git a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
index a7e1daa..1bfbcb4 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
@@ -102,6 +102,7 @@ src_prepare() {
 	kernel_is ge 4 3 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.03-00-vmci-misc_deregister.patch"
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.06-00-user-pages.patch"
+	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-00-trans_start.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2016-08-05  7:29 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2016-08-05  7:29 UTC (permalink / raw
  To: gentoo-commits

commit:     7688f8838d5b9761d0434d304be8fe8390270bd6
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Fri Aug  5 07:25:16 2016 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Aug  5 07:25:16 2016 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=7688f883

app-emulation/vmware-modules: complete support to kernel 4.7

Latest 4.7 kernel doesn't export anymore the readlink_copy() function:
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=bfe8804d908a791b16e3686c101f0d7eca9fb5b9

This fixes bug #590220

 .../vmware-modules/files/304-4.7-01-readlink_copy.patch  | 16 ++++++++++++++++
 .../vmware-modules/files/308-4.07-01-readlink_copy.patch | 16 ++++++++++++++++
 .../vmware-modules/vmware-modules-304.3-r1.ebuild        |  1 +
 .../vmware-modules/vmware-modules-308.1.1.ebuild         |  1 +
 4 files changed, 34 insertions(+)

diff --git a/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch b/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch
new file mode 100644
index 0000000..5fccd97
--- /dev/null
+++ b/app-emulation/vmware-modules/files/304-4.7-01-readlink_copy.patch
@@ -0,0 +1,16 @@
+--- vmblock-only/linux/inode.c	2016-08-03 19:26:15.293707751 +0200
++++ vmblock-only/linux/inode.c.new	2016-08-03 21:37:42.199148756 +0200
+@@ -205,10 +205,11 @@
+ 
+ #if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
+ 	return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#elif LINUX_VERSION_CODE <= KERNEL_VERSION(4, 6, 99)
++    return readlink_copy(buffer, buflen, iinfo->name);
+ #else
+-       return readlink_copy(buffer, buflen, iinfo->name);
++    return generic_readlink(dentry, buffer, buflen);
+ #endif
+-
+ }
+ 
+ 

diff --git a/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch b/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch
new file mode 100644
index 0000000..5fccd97
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.07-01-readlink_copy.patch
@@ -0,0 +1,16 @@
+--- vmblock-only/linux/inode.c	2016-08-03 19:26:15.293707751 +0200
++++ vmblock-only/linux/inode.c.new	2016-08-03 21:37:42.199148756 +0200
+@@ -205,10 +205,11 @@
+ 
+ #if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99)
+ 	return vfs_readlink(dentry, buffer, buflen, iinfo->name);
++#elif LINUX_VERSION_CODE <= KERNEL_VERSION(4, 6, 99)
++    return readlink_copy(buffer, buflen, iinfo->name);
+ #else
+-       return readlink_copy(buffer, buflen, iinfo->name);
++    return generic_readlink(dentry, buffer, buflen);
+ #endif
+-
+ }
+ 
+ 

diff --git a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
index 665965c..ba97b17 100644
--- a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild
@@ -103,6 +103,7 @@ src_prepare() {
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.5-00-get_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.6-00-user-pages.patch"
 	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.7-00-trans_start.patch"
+	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.7-01-readlink_copy.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user

diff --git a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
index 1bfbcb4..da4a7a1 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.1.1.ebuild
@@ -103,6 +103,7 @@ src_prepare() {
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.06-00-user-pages.patch"
 	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-00-trans_start.patch"
+	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-01-readlink_copy.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2017-08-22 10:02 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2017-08-22 10:02 UTC (permalink / raw
  To: gentoo-commits

commit:     d04316bedfd9d97e1c2c0f98bcfdfbb82e6fc679
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Tue Aug 22 10:02:00 2017 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Tue Aug 22 10:02:00 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=d04316be

app-emulation/vmware-modules: add support to kernel 4.13 for version 12

 .../vmware-modules/files/308-4.13-00-vmnet-refcount.patch     | 11 +++++++++++
 app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild    |  1 +
 2 files changed, 12 insertions(+)

diff --git a/app-emulation/vmware-modules/files/308-4.13-00-vmnet-refcount.patch b/app-emulation/vmware-modules/files/308-4.13-00-vmnet-refcount.patch
new file mode 100644
index 0000000..0a1d835
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.13-00-vmnet-refcount.patch
@@ -0,0 +1,11 @@
+--- vmnet-only/bridge.c	2017-06-20 04:54:39.000000000 +0200
++++ vmnet-only/bridge.c.new	2017-08-18 11:16:20.979974593 +0200
+@@ -636,7 +636,7 @@
+ 	 unsigned long flags;
+ 	 int i;
+ 
+-	 atomic_inc(&clone->users);
++	 refcount_inc(&clone->users);
+ 
+ 	 clone->dev = dev;
+ 	 clone->protocol = eth_type_trans(clone, dev);

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
index ad6b45c..59ce990 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -110,6 +110,7 @@ src_prepare() {
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-00-vmblock-current_time.patch"
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-01-vmci-do_once.patch"
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-02-vmci-pci_enable_msix.patch"
+	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-00-vmnet-refcount.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2017-11-09 21:56 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2017-11-09 21:56 UTC (permalink / raw
  To: gentoo-commits

commit:     c5fa588af3bc70ad201324c55f5a02b237f14919
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Wed Oct 25 21:31:35 2017 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Nov  3 22:43:15 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=c5fa588a

app-emulation/vmware-modules: remove an unneeded patch

Removed a patch for kernel 4.8 not needed by vmware-modules-308.5.x, it was
useless because already fixed upstream with a #ifdef. The same patch is
still valid for vmware-modules-304.4.x

 .../vmware-modules/files/308-4.08-00-nr_anon_mapped.patch  | 14 --------------
 app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild |  1 -
 2 files changed, 15 deletions(-)

diff --git a/app-emulation/vmware-modules/files/308-4.08-00-nr_anon_mapped.patch b/app-emulation/vmware-modules/files/308-4.08-00-nr_anon_mapped.patch
deleted file mode 100644
index f806ccd..0000000
--- a/app-emulation/vmware-modules/files/308-4.08-00-nr_anon_mapped.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -uprNb a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c
---- a/vmmon-only/linux/hostif.c	2016-08-13 16:54:18.935207507 +0300
-+++ b/vmmon-only/linux/hostif.c	2016-08-13 16:53:52.981424256 +0300
-@@ -140,6 +140,10 @@ static DECLARE_TASKLET(timerTasklet, Hos
-  */
- #define LOCKED_PAGE_SLACK 10000
- 
-+#if LINUX_VERSION_CODE > KERNEL_VERSION(4, 7, 99)
-+#define NR_ANON_PAGES NR_ANON_MAPPED
-+#endif
-+
- static struct {
-    Atomic_uint64     uptimeBase;
-    VersionedAtomic   version;

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
index 59ce990..d7ebd9f 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -102,7 +102,6 @@ src_prepare() {
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.06-00-user-pages.patch"
 	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-01-readlink_copy.patch"
-	kernel_is ge 4 8 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.08-00-nr_anon_mapped.patch"
 	kernel_is ge 4 9 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.09-00-user-pages.patch"
 	kernel_is ge 4 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.10-00-generic_readlink.patch"
 	kernel_is ge 4 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.11-00-missing-headers.patch"


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2017-11-09 21:56 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2017-11-09 21:56 UTC (permalink / raw
  To: gentoo-commits

commit:     f52a32ebbed4e06c26456ca69a0a837aeb1ff90c
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Fri Nov  3 23:31:24 2017 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Nov  3 23:31:24 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=f52a32eb

app-emulation/vmware-modules: add support to kernel 4.14

Added two patches to build vmware-modules with latest 4.14-rcX

One patch tracks kernel changes introduced with c41f012ade0b95b0a6e25c7150673e0554736165.
The other patch fixes changes introduced with 7c0f6ba682b9c7632072ffbedf8d328c8f3c42ba
(in this case kernel changes were already available since kernel 4.10
but they produced a build failure only with kernel 4.14-rcX)

 .../308-4.14-00-vmmon-global-page-state.patch      | 14 ++++++
 .../files/308-4.14-01-deprecated-asm-uaccess.patch | 50 ++++++++++++++++++++++
 .../vmware-modules/vmware-modules-308.5.7.ebuild   |  2 +
 3 files changed, 66 insertions(+)

diff --git a/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch b/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch
new file mode 100644
index 0000000..85de302
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.14-00-vmmon-global-page-state.patch
@@ -0,0 +1,14 @@
+--- vmmon-only/linux/hostif.c	2017-10-26 00:46:14.312597372 +0200
++++ vmmon-only/linux/hostif.c.new	2017-10-26 00:49:16.419607555 +0200
+@@ -1595,7 +1595,11 @@
+    unsigned int reservedPages = MEMDEFAULTS_MIN_HOST_PAGES;
+    unsigned int hugePages = (vm == NULL) ? 0 :
+       BYTES_2_PAGES(vm->memInfo.hugePageBytes);
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
++   unsigned int lockedPages = global_zone_page_state(NR_PAGETABLE) +
++#else
+    unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
+                               global_node_page_state(NR_SLAB_UNRECLAIMABLE) +
+ #else

diff --git a/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch b/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch
new file mode 100644
index 0000000..4ee38f9
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.14-01-deprecated-asm-uaccess.patch
@@ -0,0 +1,50 @@
+--- vmblock-only/linux/control.c	2017-10-26 00:35:44.391562150 +0200
++++ vmblock-only/linux/control.c.new	2017-10-26 00:44:31.803591641 +0200
+@@ -29,7 +29,7 @@
+ #include <linux/stat.h>
+ #include <linux/fs.h>
+ 
+-#include <asm/uaccess.h>
++#include <linux/uaccess.h>
+ 
+ #include "vmblockInt.h"
+ #include "block.h"
+--- ./vsock-only/shared/compat_uaccess.h	2017-06-20 04:29:39.000000000 +0200
++++ ./vsock-only/shared/compat_uaccess.h.new	2017-10-26 01:09:20.867674903 +0200
+@@ -21,7 +21,9 @@
+ 
+ 
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++#   include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ #   include <asm/uaccess.h>
+ #else
+ #   include <asm/segment.h>
+--- ./vmci-only/shared/compat_uaccess.h	2017-06-20 04:29:39.000000000 +0200
++++ ./vmci-only/shared/compat_uaccess.h.new	2017-10-26 01:08:43.547672817 +0200
+@@ -21,7 +21,9 @@
+ 
+ 
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++#   include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ #   include <asm/uaccess.h>
+ #else
+ #   include <asm/segment.h>
+--- ./vmblock-only/shared/compat_uaccess.h	2017-06-20 04:29:39.000000000 +0200
++++ ./vmblock-only/shared/compat_uaccess.h.new	2017-10-26 01:07:48.915669762 +0200
+@@ -21,7 +21,9 @@
+ 
+ 
+ /* User space access functions moved in 2.1.7 to asm/uaccess.h --hpreg */
+-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 10, 0)
++#   include <linux/uaccess.h>
++#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 1, 7)
+ #   include <asm/uaccess.h>
+ #else
+ #   include <asm/segment.h>

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
index 8987a1d..0f74914 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -112,6 +112,8 @@ src_prepare() {
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-02-vmci-pci_enable_msix.patch"
 	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-00-vmnet-refcount.patch"
 	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-01-vmmon-fix-page-accounting.patch"
+	kernel_is ge 4 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.14-00-vmmon-global-page-state.patch"
+	kernel_is ge 4 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.14-01-deprecated-asm-uaccess.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2017-11-09 21:56 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2017-11-09 21:56 UTC (permalink / raw
  To: gentoo-commits

commit:     f1e55c55662305fc41f64d9bbb074a28ed5a462c
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Fri Nov  3 23:16:27 2017 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Fri Nov  3 23:16:27 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=f1e55c55

app-emulation/vmware-modules: fix page accounting

Found a possibile problem with future vmware v14 products, at a certain point a
virtual machine remains without memory. See for example:

https://communities.vmware.com/thread/573281
https://superuser.com/questions/1255099/vmware-workstation-not-enough-physical-memory-since-last-update/1255963

To solve the issue I have inserted three of the patches available from
https://github.com/mkubecek/vmware-host-modules/commit/b50848c985f1
Thanks to mkubecek.

 .../files/308-4.08-00-vmmon-fix-page-accounting.patch | 19 +++++++++++++++++++
 .../files/308-4.13-01-vmmon-fix-page-accounting.patch | 14 ++++++++++++++
 .../vmware-modules/vmware-modules-308.5.7.ebuild      |  2 ++
 3 files changed, 35 insertions(+)

diff --git a/app-emulation/vmware-modules/files/308-4.08-00-vmmon-fix-page-accounting.patch b/app-emulation/vmware-modules/files/308-4.08-00-vmmon-fix-page-accounting.patch
new file mode 100644
index 0000000..7d653f4
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.08-00-vmmon-fix-page-accounting.patch
@@ -0,0 +1,19 @@
+--- vmmon-only/linux/hostif.c	2017-10-26 00:01:58.466448868 +0200
++++ vmmon-only/linux/hostif.c.new	2017-10-26 00:10:42.874478191 +0200
+@@ -1597,11 +1597,15 @@
+       BYTES_2_PAGES(vm->memInfo.hugePageBytes);
+    unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
+                               global_page_state(NR_SLAB_UNRECLAIMABLE) +
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
++                              global_node_page_state(NR_UNEVICTABLE) +
++#else
+                               global_page_state(NR_UNEVICTABLE) +
++#endif
+                               hugePages + reservedPages;
+    unsigned int anonPages =
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+-      global_page_state(NR_ANON_MAPPED);
++      global_node_page_state(NR_ANON_MAPPED);
+ #else
+       global_page_state(NR_ANON_PAGES);
+ #endif

diff --git a/app-emulation/vmware-modules/files/308-4.13-01-vmmon-fix-page-accounting.patch b/app-emulation/vmware-modules/files/308-4.13-01-vmmon-fix-page-accounting.patch
new file mode 100644
index 0000000..050a828
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.13-01-vmmon-fix-page-accounting.patch
@@ -0,0 +1,14 @@
+--- vmmon-only/linux/hostif.c	2017-10-26 00:16:39.496498131 +0200
++++ vmmon-only/linux/hostif.c.new	2017-10-26 00:20:35.154511309 +0200
+@@ -1596,7 +1596,11 @@
+    unsigned int hugePages = (vm == NULL) ? 0 :
+       BYTES_2_PAGES(vm->memInfo.hugePageBytes);
+    unsigned int lockedPages = global_page_state(NR_PAGETABLE) +
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 13, 0)
++                              global_node_page_state(NR_SLAB_UNRECLAIMABLE) +
++#else
+                               global_page_state(NR_SLAB_UNRECLAIMABLE) +
++#endif
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
+                               global_node_page_state(NR_UNEVICTABLE) +
+ #else

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
index d7ebd9f..8987a1d 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.7.ebuild
@@ -102,6 +102,7 @@ src_prepare() {
 	kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.patch"
 	kernel_is ge 4 6 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.06-00-user-pages.patch"
 	kernel_is ge 4 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.07-01-readlink_copy.patch"
+	kernel_is ge 4 8 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.08-00-vmmon-fix-page-accounting.patch"
 	kernel_is ge 4 9 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.09-00-user-pages.patch"
 	kernel_is ge 4 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.10-00-generic_readlink.patch"
 	kernel_is ge 4 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.11-00-missing-headers.patch"
@@ -110,6 +111,7 @@ src_prepare() {
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-01-vmci-do_once.patch"
 	kernel_is ge 4 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.12-02-vmci-pci_enable_msix.patch"
 	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-00-vmnet-refcount.patch"
+	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-01-vmmon-fix-page-accounting.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/
@ 2017-12-05  0:16 Fabio Rossi
  0 siblings, 0 replies; 19+ messages in thread
From: Fabio Rossi @ 2017-12-05  0:16 UTC (permalink / raw
  To: gentoo-commits

commit:     0f4fedb03b69af3b839d73c74a0aa87bc1132ba8
Author:     Fabio Rossi <rossi.f <AT> inwind <DOT> it>
AuthorDate: Mon Dec  4 23:03:11 2017 +0000
Commit:     Fabio Rossi <rossi.f <AT> inwind <DOT> net>
CommitDate: Mon Dec  4 23:03:11 2017 +0000
URL:        https://gitweb.gentoo.org/proj/vmware.git/commit/?id=0f4fedb0

app-emulation/vmware-modules: add support to kernel 4.15-rc2

Patch inspired to https://github.com/mkubecek/vmware-host-modules/commit/562121d7bc06
but I prefer to leave the sources as close as possible to the original ones.

The changes are due to kernel commits b9eaf18722221ef8b2bd6a67240ebe668622152a
and e99e88a9d2b067465adaa9c111ada99a041bef9a

 .../files/308-4.15-00-init_timer.patch             | 105 +++++++++++++++++++++
 .../vmware-modules/vmware-modules-308.5.8.ebuild   |   1 +
 2 files changed, 106 insertions(+)

diff --git a/app-emulation/vmware-modules/files/308-4.15-00-init_timer.patch b/app-emulation/vmware-modules/files/308-4.15-00-init_timer.patch
new file mode 100644
index 0000000..94855db
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.15-00-init_timer.patch
@@ -0,0 +1,105 @@
+--- vmmon-only/linux/hostif.c	2017-12-04 23:49:53.485615520 +0100
++++ vmmon-only/linux/hostif.c.orig	2017-12-04 23:54:13.982630086 +0100
+@@ -1780,7 +1780,11 @@
+  */
+ 
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++HostIFUptimeResyncMono(struct timer_list *data)  // IN: ignored
++#else
+ HostIFUptimeResyncMono(unsigned long data)  // IN: ignored
++#endif
+ {
+    unsigned long jifs;
+    uintptr_t flags;
+@@ -1842,8 +1846,12 @@
+                   -(tv.tv_usec * (UPTIME_FREQ / 1000000) + 
+                     tv.tv_sec * UPTIME_FREQ));
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++   timer_setup(&uptimeState.timer, HostIFUptimeResyncMono, 0);
++#else
+    init_timer(&uptimeState.timer);
+    uptimeState.timer.function = HostIFUptimeResyncMono;
++#endif
+    mod_timer(&uptimeState.timer, jiffies + HZ);
+ }
+ 
+--- vmmon-only/linux/driver.c	2017-12-04 23:49:53.061615496 +0100
++++ vmmon-only/linux/driver.c.orig	2017-12-04 23:53:26.086627408 +0100
+@@ -115,7 +115,11 @@
+ #endif
+ static int LinuxDriverMmap(struct file *filp, struct vm_area_struct *vma);
+ 
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++static void LinuxDriverPollTimeout(struct timer_list *clientData);
++#else
+ static void LinuxDriverPollTimeout(unsigned long clientData);
++#endif
+ static unsigned int LinuxDriverEstimateTSCkHz(void);
+ 
+ static struct vm_operations_struct vmuser_mops = {
+@@ -227,7 +231,11 @@
+  *----------------------------------------------------------------------
+  */
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++LinuxDriverEstimateTSCkHzDeferred(struct timer_list *data)
++#else
+ LinuxDriverEstimateTSCkHzDeferred(unsigned long data)
++#endif
+ {
+    LinuxDriverEstimateTSCkHz();
+ }
+@@ -265,9 +273,11 @@
+    }
+ 
+    Vmx86_ReadTSCAndUptime(&tsckHzStartTime);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 15, 0)
+    tscTimer.function = LinuxDriverEstimateTSCkHzDeferred;
+-   tscTimer.expires  = jiffies + 4 * HZ;
+    tscTimer.data     = 0;
++#endif
++   tscTimer.expires  = jiffies + 4 * HZ;
+    add_timer(&tscTimer);
+ }
+ 
+@@ -309,9 +319,14 @@
+     */
+ 
+    init_waitqueue_head(&linuxState.pollQueue);
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++   timer_setup(&linuxState.pollTimer, LinuxDriverPollTimeout, 0);
++#else
+    init_timer(&linuxState.pollTimer);
+    linuxState.pollTimer.data = 0;
+    linuxState.pollTimer.function = LinuxDriverPollTimeout;
++#endif
+ 
+    linuxState.fastClockThread = NULL;
+    linuxState.fastClockFile = NULL;
+@@ -360,7 +375,11 @@
+        linuxState.deviceName, linuxState.major, linuxState.minor);
+ 
+    HostIF_InitUptime();
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++   timer_setup(&tscTimer, LinuxDriverEstimateTSCkHzDeferred, 0UL);
++#else
+    init_timer(&tscTimer);
++#endif
+    LinuxDriverInitTSCkHz();
+    Vmx86_InitIDList();
+ 
+@@ -858,7 +877,11 @@
+  */
+ 
+ static void
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
++LinuxDriverPollTimeout(struct timer_list *clientData)  // IN:
++#else
+ LinuxDriverPollTimeout(unsigned long clientData)  // IN:
++#endif
+ {
+    LinuxDriverWakeUp(FALSE);
+ }

diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.8.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.8.ebuild
index 0f74914..e6f2999 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.8.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.8.ebuild
@@ -114,6 +114,7 @@ src_prepare() {
 	kernel_is ge 4 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.13-01-vmmon-fix-page-accounting.patch"
 	kernel_is ge 4 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.14-00-vmmon-global-page-state.patch"
 	kernel_is ge 4 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.14-01-deprecated-asm-uaccess.patch"
+	kernel_is ge 4 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.15-00-init_timer.patch"
 
 	# Allow user patches so they can support RC kernels and whatever else
 	epatch_user


^ permalink raw reply related	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2017-12-05  0:16 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-30 21:52 [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/files/, app-emulation/vmware-modules/ Fabio Rossi
  -- strict thread matches above, loose matches on Subject: below --
2017-12-05  0:16 Fabio Rossi
2017-11-09 21:56 Fabio Rossi
2017-11-09 21:56 Fabio Rossi
2017-11-09 21:56 Fabio Rossi
2017-08-22 10:02 Fabio Rossi
2016-08-05  7:29 Fabio Rossi
2016-03-18 23:33 Andreas Hüttel
2016-03-18  3:16 Evan Teran
2016-03-17  2:03 Evan Teran
2016-03-17  1:44 Evan Teran
2015-07-10 23:42 Evan Teran
2015-07-10 23:17 Evan Teran
2014-10-11 21:54 Evan Teran
2014-10-11 15:52 Evan Teran
2014-10-11 15:52 Evan Teran
2014-10-10 13:55 Evan Teran
2014-10-10 13:55 Evan Teran
2014-10-10 13:55 Evan Teran

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox