diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | vmmon.patch | 97 |
3 files changed, 113 insertions, 16 deletions
@@ -1,6 +1,6 @@ pkgbase = vmware-workstation pkgdesc = The industry standard for running multiple operating systems as virtual machines on a single Linux PC. - pkgver = 15.0.3 + pkgver = 15.0.4 pkgrel = 1 url = https://www.vmware.com/products/workstation-for-linux.html install = vmware-workstation.install @@ -38,7 +38,7 @@ pkgbase = vmware-workstation backup = etc/vmware/ssl/hostd.ssl.config backup = etc/pam.d/vmware-authd backup = etc/conf.d/vmware - source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-15.0.3-12422535.x86_64.bundle + source = https://download3.vmware.com/software/wkst/file/VMware-Workstation-Full-15.0.4-12990004.x86_64.bundle source = bootstrap source = vmware-vix-bootstrap source = config @@ -60,10 +60,10 @@ pkgbase = vmware-workstation source = Makefile source = vmmon.patch source = vmnet.patch - source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.0.2/10952296/packages/com.vmware.fusion.tools.darwinPre15.zip.tar - source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.0.2/10952296/packages/com.vmware.fusion.tools.darwin.zip.tar + source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.0.3/12992109/packages/com.vmware.fusion.tools.darwinPre15.zip.tar + source = https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/11.0.3/12992109/packages/com.vmware.fusion.tools.darwin.zip.tar source = unlocker.py - sha256sums = abc956af04224401ef772186909bd1955d178369152980dff5eebc6f7b800855 + sha256sums = 2d9e82471e5ad8316de1bcdaf2851ea9e3777545fbfc8a4bc78570035311d959 sha256sums = 12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e sha256sums = da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141 sha256sums = 53af82a619c8b1bca39bb493beb0ff031c978bb763715ef264b135f4a1d67d1e @@ -83,10 +83,10 @@ pkgbase = vmware-workstation sha256sums = d7a9fbf39a0345ae2f14f7f389f30b1110f605d187e0c241e99bbb18993c250d sha256sums = 05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487 sha256sums = 6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d - sha256sums = d6c2bbe974f41f555927071eb0f8238fdf30cb3fae62ef00acbc5fc2917986ac + sha256sums = c85deed2bbba2b5eebc12b7937171d0784f1b50cbba86c50642ba69834384438 sha256sums = 955329f91f25f523f5974992923238d2718bc6255acc7e18fabf80cf20206531 - sha256sums = 02cc231902c9fc1b4faf2fc2664e7f3d2121ad4b8a92e18a759b044d20a7b724 - sha256sums = f6b542320ae2aa33bf6c5cb7ccdda702ae5067c3e3ae2e55c1b876a2d65356a3 + sha256sums = 0de0f886ad5d53bcdb2adf3969f2c63d4dcbca6ee4c6c7bd2ea4f5237dc52a75 + sha256sums = 40a5e530c5b0dc9572931cd892504fafe6ff50cad7bc626a2487fa436a918ee1 sha256sums = 29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c pkgname = vmware-workstation @@ -14,8 +14,8 @@ #PKGEXT=.pkg.tar pkgname=vmware-workstation -pkgver=15.0.3 -_buildver=12422535 +pkgver=15.0.4 +_buildver=12990004 _pkgver=${pkgver}_${_buildver} pkgrel=1 pkgdesc='The industry standard for running multiple operating systems as virtual machines on a single Linux PC.' @@ -95,7 +95,7 @@ source=( 'vmnet.patch' ) sha256sums=( - 'abc956af04224401ef772186909bd1955d178369152980dff5eebc6f7b800855' + '2d9e82471e5ad8316de1bcdaf2851ea9e3777545fbfc8a4bc78570035311d959' '12e7b16abf8d7e858532edabb8868919c678063c566a6535855b194aac72d55e' 'da1698bf4e73ae466c1c7fc93891eba4b9c4581856649635e6532275dbfea141' @@ -119,7 +119,7 @@ sha256sums=( '05e26d8b21d190ebabb7f693998114d9d5991d9dfb71acb4d990293a65b6b487' '6ce902b1dab8fc69be253abd8e79017011985eca850ff7acc7282f9ab668e35d' - 'd6c2bbe974f41f555927071eb0f8238fdf30cb3fae62ef00acbc5fc2917986ac' + 'c85deed2bbba2b5eebc12b7937171d0784f1b50cbba86c50642ba69834384438' '955329f91f25f523f5974992923238d2718bc6255acc7e18fabf80cf20206531' ) options=(!strip emptydirs) @@ -130,7 +130,7 @@ _isovirtualprinterimages=(Linux Windows) if [ -n "$_enable_macOS_guests" ]; then -_vmware_fusion_ver=11.0.2_10952296 +_vmware_fusion_ver=11.0.3_12992109 # List of VMware Fusion versions: https://softwareupdate.vmware.com/cds/vmw-desktop/fusion/ makedepends+=( @@ -144,8 +144,8 @@ source+=( 'unlocker.py' ) sha256sums+=( - '02cc231902c9fc1b4faf2fc2664e7f3d2121ad4b8a92e18a759b044d20a7b724' - 'f6b542320ae2aa33bf6c5cb7ccdda702ae5067c3e3ae2e55c1b876a2d65356a3' + '0de0f886ad5d53bcdb2adf3969f2c63d4dcbca6ee4c6c7bd2ea4f5237dc52a75' + '40a5e530c5b0dc9572931cd892504fafe6ff50cad7bc626a2487fa436a918ee1' '29e0b0db9c0296ab81eee543803c4bd430e2c69c76e33492910e17280da1c05c' ) @@ -303,7 +303,7 @@ package() { install -Dm 644 vmware-installer/bootstrap "$pkgdir/etc/vmware-installer/bootstrap" install -Dm 644 "$srcdir/vmware-vix-bootstrap" "$pkgdir/etc/vmware-vix/bootstrap" install -Dm 644 "$srcdir"/{bootstrap,config} "$pkgdir/etc/vmware" - + rm -r "$pkgdir/usr/lib/vmware/xkeymap" # these files are now provided by vmware-keymaps package for hostd_file in config datastores environments proxy vmAutoStart; do diff --git a/vmmon.patch b/vmmon.patch index 9526837b8898..1be860c6ef42 100644 --- a/vmmon.patch +++ b/vmmon.patch @@ -204,3 +204,100 @@ index cf4197b..ef88a22 100644 printk(KERN_ERR "%s: Couldn't verify write to uva 0x%p with size %" FMTSZ"u\n", __func__, p, size); +From 41413a9b6e660a93600a438944d85b6f51eb680c Mon Sep 17 00:00:00 2001 +From: Michal Kubecek <mkubecek@suse.cz> +Date: Tue, 5 Mar 2019 13:21:35 +0100 +Subject: [PATCH] vmmon: use KERNEL_DS rather than get_ds() + +Commit 736706bee329 ("get rid of legacy 'get_ds()' function") in v5.1-rc1 +removed get_ds() helper. As this helper always returned KERNEL_DS on x86_64 +since the architecture was introduced (and even on i386, it did so since +v2.1.0), simply use KERNEL_DS regardless of kernel version. +--- + vmmon-only/linux/hostif.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index ef88a22..8ca17de 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -2304,7 +2304,7 @@ isVAReadable(VA r) // IN: + int ret; + + old_fs = get_fs(); +- set_fs(get_ds()); ++ set_fs(KERNEL_DS); + r = APICR_TO_ADDR(r, APICR_VERSION); + ret = HostIF_CopyFromUser(&dummy, r, sizeof dummy); + set_fs(old_fs); +@@ -2581,7 +2581,7 @@ HostIF_SemaphoreWait(VMDriver *vm, // IN: + } + + old_fs = get_fs(); +- set_fs(get_ds()); ++ set_fs(KERNEL_DS); + + { + struct poll_wqueues table; +@@ -2710,7 +2710,7 @@ HostIF_SemaphoreSignal(uint64 *args) // IN: + } + + old_fs = get_fs(); +- set_fs(get_ds()); ++ set_fs(KERNEL_DS); + + /* + * Always write sizeof(uint64) bytes. This works fine for eventfd and +From 2af9d566d0ccc78a93b46a79d23902e5ba2bc933 Mon Sep 17 00:00:00 2001 +From: Michal Kubecek <mkubecek@suse.cz> +Date: Sat, 9 Mar 2019 11:11:29 +0100 +Subject: [PATCH] vmmon: fix return type of vm_operations_struct::fault handler + +Commit 3d3539018d2c ("mm: create the new vm_fault_t type") in mainline +5.1-rc1 changed the definition of vm_fault_t type to unsigned to catch +vm_operations_struct::fault handlers which still have int as return value. +LinuxDriverFault() in vmmon module is one of those. + +As handler return type was changed by commit 1c8f422059ae ("mm: change +return type to vm_fault_t") in 4.17-rc1, make LinuxDriverFault() always +return vm_fault_t and define vm_fault_t as int when building against +a pre-4.17 kernel. +--- + vmmon-only/linux/driver.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c +index 92a3529..248a95d 100644 +--- a/vmmon-only/linux/driver.c ++++ b/vmmon-only/linux/driver.c +@@ -73,6 +73,9 @@ static Bool LinuxDriverCheckPadding(void); + + struct VMXLinuxState linuxState; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 17, 0) ++typedef int vm_fault_t; ++#endif + + /* + *---------------------------------------------------------------------- +@@ -97,9 +100,9 @@ long LinuxDriver_Ioctl(struct file *filp, u_int iocmd, + + static int LinuxDriver_Close(struct inode *inode, struct file *filp); + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) +-static int LinuxDriverFault(struct vm_fault *fault); ++static vm_fault_t LinuxDriverFault(struct vm_fault *fault); + #else +-static int LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); ++static vm_fault_t LinuxDriverFault(struct vm_area_struct *vma, struct vm_fault *fault); + #endif + static int LinuxDriverMmap(struct file *filp, struct vm_area_struct *vma); + +@@ -595,7 +598,7 @@ LinuxDriver_Close(struct inode *inode, // IN + *----------------------------------------------------------------------------- + */ + +-static int ++static vm_fault_t + #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) + LinuxDriverFault(struct vm_fault *fault) //IN/OUT + #else |