summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2023-08-12 15:57:43 +0200
committerJean-Marc Lenoir2023-08-12 15:57:43 +0200
commit86d1d0623e4d06db0548658ce566226327e0faaf (patch)
treeaecf90b87bca80f60fca64d904cb6f05a0cba25d
parenta3cec4e4b258ec334f330cbae173e676c40c616e (diff)
downloadaur-86d1d0623e4d06db0548658ce566226327e0faaf.tar.gz
Compatibility with Linux 6.4.10 and 6.5-rc5
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD6
-rw-r--r--vmmon.patch12
-rw-r--r--vmnet.patch118
4 files changed, 65 insertions, 77 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fba590186064..21ed54b6eec7 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = vmware-workstation11
pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
pkgver = 11.1.4
- pkgrel = 26
+ pkgrel = 27
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
@@ -84,7 +84,7 @@ pkgbase = vmware-workstation11
sha256sums = fe1b1be8297f4170406f97dd1f8b385d911faf45afe19cbc0c26b8092b3ddf8d
sha256sums = 10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e
sha256sums = 273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac
- sha256sums = 9dcbc2ad7c1da946b3d10fe93e5502b1e9cf441c7c10c73f3e7b9341baf2a87d
- sha256sums = d778be617a29d465de845616138877d422d1b1f85391355eb94bc16d62344f11
+ sha256sums = 3882927de5579dec922a9ff070d86a71ab62b96db53406ccf1e9e4e17e803a0b
+ sha256sums = 125e70e50c3a38b66b56e750351c6a311c8710c7a8e154e07a55022e37428899
pkgname = vmware-workstation11
diff --git a/PKGBUILD b/PKGBUILD
index 047ee349c27c..d97d5400ace4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,7 +16,7 @@ pkgname=vmware-workstation11
pkgver=11.1.4
_buildver=3848939
_pkgver=${pkgver}_${_buildver}
-pkgrel=26
+pkgrel=27
pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC.'
arch=(x86_64)
url='https://www.vmware.com/products/workstation-for-linux.html'
@@ -121,8 +121,8 @@ sha256sums=(
'10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e'
'273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac'
- '9dcbc2ad7c1da946b3d10fe93e5502b1e9cf441c7c10c73f3e7b9341baf2a87d'
- 'd778be617a29d465de845616138877d422d1b1f85391355eb94bc16d62344f11'
+ '3882927de5579dec922a9ff070d86a71ab62b96db53406ccf1e9e4e17e803a0b'
+ '125e70e50c3a38b66b56e750351c6a311c8710c7a8e154e07a55022e37428899'
)
options=(!strip emptydirs)
diff --git a/vmmon.patch b/vmmon.patch
index 210cc9d56149..e913e82f5239 100644
--- a/vmmon.patch
+++ b/vmmon.patch
@@ -1875,3 +1875,15 @@
break;
}
+Patch taken from https://raw.githubusercontent.com/jeffersonchua/linux-6.5.0/main/patch-17.0.2-6.5.0
+--- a/vmmon/include/pgtbl.h
++++ b/vmmon/include/pgtbl.h
+@@ -91,7 +91,7 @@
+ } else {
+ pte_t *pte;
+
+- pte = pte_offset_map(pmd, addr);
++ pte = pte_offset_kernel(pmd, addr);
+ if (pte_present(*pte) == 0) {
+ pte_unmap(pte);
+ return INVALID_MPN;
diff --git a/vmnet.patch b/vmnet.patch
index 0ac7bbde08f6..86efb600f906 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -419,7 +419,7 @@
}
}
-# Fixing VMWare Player on Linux when using DHCP addresses: https://www.nikhef.nl/~janjust/vmnet/
+Fixing VMWare Player on Linux when using DHCP addresses: https://www.nikhef.nl/~janjust/vmnet/
@@ -1012,6 +1028,9 @@
userIf = (VNetUserIF *)port->jack.private;
hubJack = port->jack.peer;
@@ -505,78 +505,41 @@
}
e = e->nextEvent;
}
-From 650fb3abeb82f2b7d3a14f9579a7529d153636b7 Mon Sep 17 00:00:00 2001
-From: Michal Kubecek <mkubecek@suse.cz>
-Date: Fri, 7 Oct 2022 12:56:44 +0200
-Subject: [PATCH] vmnet: work around field-spanning write warning (#195)
-
-While VMware 17.0.1 did work around the field-spanning write warning in
-VNetEvent_Send() by wrapping struct VNet_EventHeader into a union, they
-neglected to handle the same problem in VNetUserListenerEventHandler() so
-that running 17.0.1 on kernel >= 6.1-rc1 still issues
-
- memcpy: detected field-spanning write (size 28) of single field "&t->event"
-
-only this time it happens on VM start rather than on module load. Apply the
-same workaround as in 17.0.0 branch to avoid the warning.
----
- vmnet-only/vnet.h | 8 ++++++++
- vmnet-only/vnetEvent.c | 2 +-
- vmnet-only/vnetUserListener.c | 2 +-
- 3 files changed, 10 insertions(+), 2 deletions(-)
-
-diff --git a/vmnet-only/vnet.h b/vmnet-only/vnet.h
-index d6691d5c..d5bb5572 100644
---- a/vmnet-only/vnet.h
-+++ b/vmnet-only/vnet.h
-@@ -258,6 +258,7 @@ typedef struct VNet_EventHeader {
- uint32 eventId;
- uint32 classSet;
- uint32 type;
-+ char payload[];
- } VNet_EventHeader;
- #pragma pack(pop)
-
-@@ -275,6 +276,13 @@ typedef struct VNet_LinkStateEvent {
- } VNet_LinkStateEvent;
- #pragma pack(pop)
-
-+static inline void VNet_Event_copy(VNet_EventHeader *dst,
-+ const VNet_EventHeader *src)
-+{
-+ *dst = *src;
-+ memcpy(dst->payload, src->payload, src->size - sizeof(*src));
-+}
-+
- /*
- *----------------------------------------------------------------------------
- */
-diff --git a/vmnet-only/vnetEvent.c b/vmnet-only/vnetEvent.c
-index f1579292..12036070 100644
---- a/vmnet-only/vnetEvent.c
-+++ b/vmnet-only/vnetEvent.c
-@@ -401,7 +401,7 @@ VNetEvent_Send(VNetEvent_Sender *s, // IN: a sender
- p->nextEvent = s->firstEvent;
- s->firstEvent = p;
- }
-- memcpy(&p->event, e, e->size);
-+ VNet_Event_copy(&p->event.header, e);
-
- /* send event */
- classSet = e->classSet;
-diff --git a/vmnet-only/vnetUserListener.c b/vmnet-only/vnetUserListener.c
-index 114f3907..e9f51755 100644
---- a/vmnet-only/vnetUserListener.c
-+++ b/vmnet-only/vnetUserListener.c
-@@ -226,7 +226,7 @@ VNetUserListenerEventHandler(void *context, // IN: the user listener
+--- a/vmnet/vnetUserListener.c
+--- b/vmnet/vnetUserListener.c
+@@ -42,10 +42,12 @@
+
+ struct VNetUserListener_EventNode {
+ VNetUserListener_EventNode *nextEvent;
+- VNet_EventHeader event;
++ union {
++ VNet_EventHeader header;
++ VNet_LinkStateEvent lse;
++ } event;
+ };
+
+-#define EVENT_NODE_HEADER_SIZE offsetof(struct VNetUserListener_EventNode, event)
+
+ typedef struct VNetUserListener {
+ VNetPort port; /* base port/jack */
+@@ -220,7 +222,7 @@
+ VNetUserListener_EventNode *t;
+
+ /* allocate and initialize event node */
+- t = kmalloc(EVENT_NODE_HEADER_SIZE + e->size, GFP_ATOMIC);
++ t = kmalloc(sizeof *t, GFP_ATOMIC);
+ if (t == NULL) {
+ LOG(0, (KERN_DEBUG "VNetUserListenerEventHandler, out of memory\n"));
return;
+@@ -299,7 +301,7 @@
+ spin_unlock(&userListener->lock);
+
+ /* return data and free event */
+- n = t->event.size;
++ n = t->event.header.size;
+ if (count < n) {
+ n = count;
}
- t->nextEvent = NULL;
-- memcpy(&t->event, e, e->size);
-+ VNet_Event_copy(&t->event, e);
-
- /* append event to event list */
- userListener = (VNetUserListener*)context;
From 0ca979d4bd06144204d720bb82f0a1e29024f9fa Mon Sep 17 00:00:00 2001
From: Michal Kubecek <mkubecek@suse.cz>
Date: Wed, 18 Jan 2023 00:19:52 +0100
@@ -643,3 +606,16 @@ index 197a213..b22cbfb 100644
MODULE_INFO(supported, "external");
+module_init(vmnet_init_module);
+module_exit(vmnet_cleanup_module);
+Patch inspired from https://github.com/mkubecek/vmware-host-modules/commit/b75cd616cca0a4c9ff22124c4c91d218e64e6205.patch
+--- a/vmnet/bridge.c
++++ b/vmnet/bridge.c
+@@ -43,6 +43,9 @@
+ #include <linux/tcp.h>
+ #include <net/tcp.h>
+ #include <net/ipv6.h>
++#if !defined(SKB_GSO_CB)
++#include <net/gso.h>
++#endif
+
+ #ifdef CONFIG_NET_RADIO
+ # include <linux/wireless.h>