From: "Evan Teran" <evan.teran@gmail.com>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/, app-emulation/vmware-modules/files/
Date: Tue, 5 May 2015 16:59:50 +0000 (UTC) [thread overview]
Message-ID: <1430844125.92cecf1dbaab4333b53269e65ecbee15d9b866b0.eteran@gentoo> (raw)
commit: 92cecf1dbaab4333b53269e65ecbee15d9b866b0
Author: Evan Teran <evan.teran <AT> gmail <DOT> com>
AuthorDate: Tue May 5 16:42:05 2015 +0000
Commit: Evan Teran <evan.teran <AT> gmail <DOT> com>
CommitDate: Tue May 5 16:42:05 2015 +0000
URL: https://gitweb.gentoo.org/proj/vmware.git/commit/?id=92cecf1d
271 should now compile (and I beleive function correctly) on 3.19
I'll look into 4.x soon
Package-Manager: portage-2.2.18
.../files/271-3.19-00-vmnet-warning.patch | 13 ++++++
.../files/271-3.19-01-vmblock-path.patch | 52 ++++++++++++++++++++++
.../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 +++++++
.../vmware-modules/files/271-3.19-06-vsock.patch | 36 +++++++++++++++
.../vmware-modules/vmware-modules-271.3-r1.ebuild | 10 ++++-
8 files changed, 195 insertions(+), 1 deletion(-)
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
new file mode 100644
index 0000000..b4d30c9
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch
@@ -0,0 +1,13 @@
+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
new file mode 100644
index 0000000..4bf17e1
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch
@@ -0,0 +1,52 @@
+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 --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
new file mode 100644
index 0000000..a8ec2b1
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 0000000..041bfb6
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch
@@ -0,0 +1,29 @@
+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
new file mode 100644
index 0000000..8c9d3cb
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-04-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/271-3.19-05-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch
new file mode 100644
index 0000000..2e41230
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-05-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/271-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-06-vsock.patch
new file mode 100644
index 0000000..a2b0136
--- /dev/null
+++ b/app-emulation/vmware-modules/files/271-3.19-06-vsock.patch
@@ -0,0 +1,36 @@
+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:51:59.794166063 -0400
++++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:53:38.621171420 -0400
+@@ -4874,9 +4874,11 @@ VSockVmciStreamRecvmsg(struct kiocb *kio
+ }
+
+ if (flags & MSG_PEEK) {
+- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0);
++ struct iovec iov = iov_iter_iovec(&msg->msg_iter);
++ read = vmci_qpair_peekv(vsk->qpair, &iov, len - copied, 0);
+ } else {
+- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0);
++ struct iovec iov = iov_iter_iovec(&msg->msg_iter);
++ read = vmci_qpair_dequev(vsk->qpair, &iov, len - copied, 0);
+ }
+
+ if (read < 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:53:59.937172575 -0400
++++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:59:25.824190240 -0400
+@@ -4628,9 +4628,12 @@ VSockVmciStreamSendmsg(struct kiocb *kio
+ * size. It is the caller's responsibility to check how many bytes we were
+ * able to send.
+ */
+-
+- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov,
+- len - totalWritten, 0);
++ {
++ struct iovec iov = iov_iter_iovec(&msg->msg_iter);
++ written = vmci_qpair_enquev(vsk->qpair, &iov,
++ len - totalWritten, 0);
++ }
++
+ if (written < 0) {
+ err = -ENOMEM;
+ goto outWait;
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 96c6ccf..66c0b2b 100644
--- a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2014 Gentoo Foundation
+# Copyright 1999-2015 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 $
@@ -84,6 +84,14 @@ src_prepare() {
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-vsock.patch"
+
# Allow user patches so they can support RC kernels and whatever else
epatch_user
}
next reply other threads:[~2015-05-05 16:59 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-05-05 16:59 Evan Teran [this message]
-- strict thread matches above, loose matches on Subject: below --
2018-04-07 15:00 [gentoo-commits] proj/vmware:master commit in: app-emulation/vmware-modules/, app-emulation/vmware-modules/files/ Fabio Rossi
2017-08-21 17:07 Evan Teran
2017-05-23 23:26 Fabio Rossi
2017-05-23 23:26 Fabio Rossi
2017-04-05 14:49 Evan Teran
2016-12-12 21:19 Evan Teran
2016-08-17 12:38 Fabio Rossi
2016-05-19 18:18 Fabio Rossi
2016-03-17 2:26 Evan Teran
2015-09-19 19:08 Andreas Hüttel
2015-07-11 4:21 Evan Teran
2015-05-07 1:55 Evan Teran
2014-10-11 15:52 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
2013-06-23 13:14 Andreas Hüttel
2012-12-16 13:27 Vadim Kuznetsov
2012-11-17 11:58 Vadim Kuznetsov
2012-05-24 17:32 Vadim Kuznetsov
2012-05-22 13:29 Vadim Kuznetsov
2012-03-26 19:48 Vadim Kuznetsov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1430844125.92cecf1dbaab4333b53269e65ecbee15d9b866b0.eteran@gentoo \
--to=evan.teran@gmail.com \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox