summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Teran <evan.teran@gmail.com>2015-07-06 08:22:22 +0000
committerEvan Teran <evan.teran@gmail.com>2015-07-06 08:22:22 +0000
commitc8b1c812a25cbaa673e0fb40623d92642973c0a1 (patch)
tree948c22fe2fff48c06a78cb96ad68fc129dfba037 /app-emulation/vmware-modules/files
parentfixing manifest? (diff)
downloadvmware-c8b1c812a25cbaa673e0fb40623d92642973c0a1.tar.gz
vmware-c8b1c812a25cbaa673e0fb40623d92642973c0a1.tar.bz2
vmware-c8b1c812a25cbaa673e0fb40623d92642973c0a1.zip
version bump for vmware-workstation 10 and 3.19/4.0 kernel support
Package-Manager: portage-2.2.20
Diffstat (limited to 'app-emulation/vmware-modules/files')
-rw-r--r--app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch24
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch23
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-01-dentry.patch13
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch67
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-03-iovec.patch19
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-04-iovec.patch39
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch24
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-06-vsock.patch15
-rw-r--r--app-emulation/vmware-modules/files/279-3.19-07-vsock.patch12
9 files changed, 236 insertions, 0 deletions
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
new file mode 100644
index 0000000..2d38824
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch
new file mode 100644
index 0000000..ec73500
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-01-dentry.patch b/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch
new file mode 100644
index 0000000..6f11a52
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch
new file mode 100644
index 0000000..178d147
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-03-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch
new file mode 100644
index 0000000..b016fec
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
new file mode 100644
index 0000000..9103c55
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch
@@ -0,0 +1,39 @@
+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
new file mode 100644
index 0000000..1849a37
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch
new file mode 100644
index 0000000..2e41230
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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/279-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch
new file mode 100644
index 0000000..8c9d3cb
--- /dev/null
+++ b/app-emulation/vmware-modules/files/279-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);