summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Rossi <rossi.f@inwind.it>2018-04-28 17:52:49 +0200
committerFabio Rossi <rossi.f@inwind.it>2018-04-28 17:52:49 +0200
commitf646d36b8f4b6766c4ad03161abaaefa0fa88ea4 (patch)
treeb59f9d528afd1272b4ceb2be1ec3130ff323d65b
parentremove from manifest unpublished versions (diff)
downloadvmware-master.tar.gz
vmware-master.tar.bz2
vmware-master.zip
app-emulation/vmware-modules: initial support to kernel 4.17HEADmaster
upstream kernel commit 9b2c45d479d0fb8647c9e83359df69162b5fbe5f
-rw-r--r--app-emulation/vmware-modules/files/308-4.17-00-vsock-getname.patch36
-rw-r--r--app-emulation/vmware-modules/vmware-modules-308.5.9.ebuild1
2 files changed, 37 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/files/308-4.17-00-vsock-getname.patch b/app-emulation/vmware-modules/files/308-4.17-00-vsock-getname.patch
new file mode 100644
index 0000000..f38f7c5
--- /dev/null
+++ b/app-emulation/vmware-modules/files/308-4.17-00-vsock-getname.patch
@@ -0,0 +1,36 @@
+--- vsock-only/linux/af_vsock.c 2018-04-28 17:46:58.489492168 +0200
++++ vsock-only/linux/af_vsock.c.new 2018-04-28 17:46:49.528491470 +0200
+@@ -215,7 +215,11 @@
+ struct sockaddr *addr, int addrLen, int flags);
+ static int VSockVmciAccept(struct socket *sock, struct socket *newsock, int flags, bool kern);
+ static int VSockVmciGetname(struct socket *sock,
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
+ struct sockaddr *addr, int *addrLen, int peer);
++#else
++ struct sockaddr *addr, int peer);
++#endif
+ static unsigned int VSockVmciPoll(struct file *file,
+ struct socket *sock, poll_table *wait);
+ static int VSockVmciListen(struct socket *sock, int backlog);
+@@ -3878,7 +3882,9 @@
+ static int
+ VSockVmciGetname(struct socket *sock, // IN
+ struct sockaddr *addr, // OUT
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
+ int *addrLen, // OUT
++#endif
+ int peer) // IN
+ {
+ int err;
+@@ -3914,7 +3920,11 @@
+ */
+ ASSERT_ON_COMPILE(sizeof *vmciAddr <= 128);
+ memcpy(addr, vmciAddr, sizeof *vmciAddr);
++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0)
+ *addrLen = sizeof *vmciAddr;
++#else
++ err = sizeof *vmciAddr;
++#endif
+
+ out:
+ release_sock(sk);
diff --git a/app-emulation/vmware-modules/vmware-modules-308.5.9.ebuild b/app-emulation/vmware-modules/vmware-modules-308.5.9.ebuild
index 17264ed..612612b 100644
--- a/app-emulation/vmware-modules/vmware-modules-308.5.9.ebuild
+++ b/app-emulation/vmware-modules/vmware-modules-308.5.9.ebuild
@@ -116,6 +116,7 @@ src_prepare() {
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"
kernel_is ge 4 16 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.16-00-vmblock-iversion.patch"
+ kernel_is ge 4 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.17-00-vsock-getname.patch"
# Allow user patches so they can support RC kernels and whatever else
epatch_user