diff options
author | Jean-Marc Lenoir | 2023-10-21 15:47:15 +0200 |
---|---|---|
committer | Jean-Marc Lenoir | 2023-10-21 15:47:15 +0200 |
commit | f70d0e9d77a04aedf7764de3925a17f3320c3261 (patch) | |
tree | ed4c6da5dab3c8982a1c7b89eb72a20dfcc83e01 | |
parent | 00c84138457257e47d6abee2e7cb1fd5abb69ef7 (diff) | |
download | aur-f70d0e9d77a04aedf7764de3925a17f3320c3261.tar.gz |
Sync with vmware-workstation 17.5.0
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 8 | ||||
-rw-r--r-- | vmmon.patch | 26 | ||||
-rw-r--r-- | vmnet.patch | 133 |
4 files changed, 75 insertions, 98 deletions
@@ -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 @@ -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> |