summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Marc Lenoir2023-10-21 15:47:15 +0200
committerJean-Marc Lenoir2023-10-21 15:47:15 +0200
commitf70d0e9d77a04aedf7764de3925a17f3320c3261 (patch)
treeed4c6da5dab3c8982a1c7b89eb72a20dfcc83e01
parent00c84138457257e47d6abee2e7cb1fd5abb69ef7 (diff)
downloadaur-f70d0e9d77a04aedf7764de3925a17f3320c3261.tar.gz
Sync with vmware-workstation 17.5.0
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD8
-rw-r--r--vmmon.patch26
-rw-r--r--vmnet.patch133
4 files changed, 75 insertions, 98 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 7c37152a59f0..83d5acb88842 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = vmware-workstation14
pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC.
pkgver = 14.1.7
- pkgrel = 22
+ pkgrel = 23
url = https://www.vmware.com/products/workstation-for-linux.html
install = vmware-workstation.install
arch = x86_64
@@ -88,7 +88,7 @@ pkgbase = vmware-workstation14
sha256sums = fe1b1be8297f4170406f97dd1f8b385d911faf45afe19cbc0c26b8092b3ddf8d
sha256sums = 10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e
sha256sums = 273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac
- sha256sums = cd4515560190a2455c6f19eb8d95ed48ba669ae1329c8f4ae67bc5a42ae26508
- sha256sums = 12c50ec5470513438a488472251bcf5850e108b67e9b98a46d52dac45e1ffd9b
+ sha256sums = b335a39d32b161dabf3ca7981008743204cf6ca0d01dbac35ff797b32eed0065
+ sha256sums = f34cfe89820bb3cad727e9b410caa1120f1c8706a32b6a46b19a4cbbe9f7c2c5
pkgname = vmware-workstation14
diff --git a/PKGBUILD b/PKGBUILD
index f5a8c7855a1c..71be81951e95 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -16,7 +16,7 @@ pkgname=vmware-workstation14
pkgver=14.1.7
_buildver=12989993
_pkgver=${pkgver}_${_buildver}
-pkgrel=22
+pkgrel=23
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'
@@ -125,8 +125,8 @@ sha256sums=(
'10562d11d50edab9abc2b29c8948714edcb9b084f99b3766d07ddd21259e372e'
'273d4357599a3e54259c78cc49054fef8ecfd2c2eda35cbcde3a53a62777a5ac'
- 'cd4515560190a2455c6f19eb8d95ed48ba669ae1329c8f4ae67bc5a42ae26508'
- '12c50ec5470513438a488472251bcf5850e108b67e9b98a46d52dac45e1ffd9b'
+ 'b335a39d32b161dabf3ca7981008743204cf6ca0d01dbac35ff797b32eed0065'
+ 'f34cfe89820bb3cad727e9b410caa1120f1c8706a32b6a46b19a4cbbe9f7c2c5'
)
options=(!strip emptydirs)
@@ -457,7 +457,7 @@ if [ -n "$_enable_macOS_guests" ]; then
done
msg "Patching EFI firmwares to disable macOS server checking"
- _efi_arch=(32 64)
+ _efi_arch=("32" "64")
for arch in ${_efi_arch[@]}
do
uefipatch "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" "$srcdir/efi-patches.txt" -o "$pkgdir/usr/lib/vmware/roms/EFI${arch}.ROM" > /dev/null
diff --git a/vmmon.patch b/vmmon.patch
index 8530a39ecd90..8c68ce080807 100644
--- a/vmmon.patch
+++ b/vmmon.patch
@@ -35,6 +35,20 @@
MODULEBUILDDIR=$(MODULEBUILDDIR) modules
$(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \
MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild
+--- a/vmmon/include/pgtbl.h
++++ b/vmmon/include/pgtbl.h
+@@ -91,7 +91,11 @@
+ } else {
+ pte_t *pte;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6,5,0)
++ pte = pte_offset_kernel(pmd, addr);
++#else
+ pte = pte_offset_map(pmd, addr);
++#endif
+ if (pte_present(*pte) == 0) {
+ pte_unmap(pte);
+ return INVALID_MPN;
--- a/vmmon/linux/driver.c
+++ b/vmmon/linux/driver.c
@@ -96,7 +96,9 @@ long LinuxDriver_Ioctl(struct file *filp
@@ -474,15 +488,3 @@
printk(KERN_ERR "%s: Couldn't verify write to uva 0x%p with size %"
FMTSZ"u\n", __func__, p, size);
-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 38e9a111210a..fd0f69e49d10 100644
--- a/vmnet.patch
+++ b/vmnet.patch
@@ -37,6 +37,16 @@
MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild
--- a/vmnet/bridge.c
+++ b/vmnet/bridge.c
+@@ -26,6 +26,9 @@
+ #include <linux/slab.h>
+ #include <linux/poll.h>
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 4, 10)
++#include <net/gso.h>
++#endif
+ #include <linux/netdevice.h>
+ #include <linux/etherdevice.h>
+ #include <linux/mm.h>
@@ -684,14 +684,11 @@
}
spin_unlock_irqrestore(&bridge->historyLock, flags);
@@ -57,6 +67,50 @@
# if LOGLEVEL >= 4
do_gettimeofday(&vnetTime);
# endif
+--- a/vmnet/driver.c
++++ b/vmnet/driver.c
+@@ -279,7 +279,7 @@ VNetRemovePortFromList(const VNetPort *port) // IN: port to remove from list
+ /*
+ *----------------------------------------------------------------------
+ *
+- * init_module --
++ * LinuxDriverInit --
+ *
+ * linux module entry point. Called by /sbin/insmod command.
+ * Initializes module and Registers this driver for a
+@@ -296,7 +296,7 @@ VNetRemovePortFromList(const VNetPort *port) // IN: port to remove from list
+ */
+
+ int
+-init_module(void)
++LinuxDriverInit(void)
+ {
+ int retval;
+
+@@ -358,7 +358,7 @@ init_module(void)
+ /*
+ *----------------------------------------------------------------------
+ *
+- * cleanup_module --
++ * LinuxDriverExit --
+ *
+ * Called by /sbin/rmmod. Unregisters this driver for a
+ * vnet major #, and deinitializes the modules. The 64-bit
+@@ -375,7 +375,7 @@ init_module(void)
+ */
+
+ void
+-cleanup_module(void)
++LinuxDriverExit(void)
+ {
+ unregister_chrdev(VNET_MAJOR_NUMBER, "vmnet");
+ VNetProtoUnregister();
+@@ -1701,3 +1701,5 @@ MODULE_LICENSE("GPL v2");
+ * by default (i.e., neither mkinitrd nor modprobe will accept it).
+ */
+ MODULE_INFO(supported, "external");
++module_init(LinuxDriverInit);
++module_exit(LinuxDriverExit);
--- a/vmnet/netif.c
+++ b/vmnet/netif.c
@@ -219,7 +219,11 @@
@@ -418,82 +472,3 @@ Fixing VMWare Player on Linux when using DHCP addresses: https://www.nikhef.nl/~
if (count < n) {
n = count;
}
-From 0ca979d4bd06144204d720bb82f0a1e29024f9fa Mon Sep 17 00:00:00 2001
-From: Michal Kubecek <mkubecek@suse.cz>
-Date: Wed, 18 Jan 2023 00:19:52 +0100
-Subject: [PATCH] vmnet: use explicit module_init() and module_exit() (#187)
-
-While vmmon module already uses explicit module_init() and module_exit()
-for its init and cleanup function, vmnet relies on traditional magic names
-init_module() and cleanup_module(). Apparently this has an unfortunate side
-effect that the two functions are not identified as indirect call targets
-by objdump and they get "sealed" when the module is built against and
-loaded into an IBT enabled kernel.
-
-Starting with 6.3-rc1, objtool is going to warn about this issue,
-indicating that the legacy module initialization is deprecated and
-module_init() and module_exit() macros should be used instead so do that
-for vmnet as well.
----
- vmnet-only/driver.c | 10 ++++++----
- 1 file changed, 6 insertions(+), 4 deletions(-)
-
-diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c
-index 197a213..b22cbfb 100644
---- a/vmnet-only/driver.c
-+++ b/vmnet-only/driver.c
-@@ -279,7 +279,7 @@ VNetRemovePortFromList(const VNetPort *port) // IN: port to remove from list
- /*
- *----------------------------------------------------------------------
- *
-- * init_module --
-+ * vmnet_init_module --
- *
- * linux module entry point. Called by /sbin/insmod command.
- * Initializes module and Registers this driver for a
-@@ -296,7 +296,7 @@ VNetRemovePortFromList(const VNetPort *port) // IN: port to remove from list
- */
-
- int
--init_module(void)
-+vmnet_init_module(void)
- {
- int retval;
-
-@@ -358,7 +358,7 @@ init_module(void)
- /*
- *----------------------------------------------------------------------
- *
-- * cleanup_module --
-+ * vmnet_cleanup_module --
- *
- * Called by /sbin/rmmod. Unregisters this driver for a
- * vnet major #, and deinitializes the modules. The 64-bit
-@@ -375,7 +375,7 @@ init_module(void)
- */
-
- void
--cleanup_module(void)
-+vmnet_cleanup_module(void)
- {
- unregister_chrdev(VNET_MAJOR_NUMBER, "vmnet");
- VNetProtoUnregister();
-@@ -1701,3 +1701,5 @@ MODULE_LICENSE("GPL v2");
- * by default (i.e., neither mkinitrd nor modprobe will accept it).
- */
- 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
-@@ -44,6 +44,9 @@
- #include <linux/if_arp.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>