diff options
author | Paul Labedan <plabedan@gmail.com> | 2014-04-26 15:44:13 +0200 |
---|---|---|
committer | Paul Labedan <plabedan@gmail.com> | 2014-04-26 15:44:13 +0200 |
commit | 2407c758f2195a5c718c6fa16c287a5bd93ed410 (patch) | |
tree | d9d74821dafb89eb46d19ccffb63cdf1705584a7 /app-emulation | |
parent | fix grive ebuild (diff) | |
download | plab-2407c758f2195a5c718c6fa16c287a5bd93ed410.tar.gz plab-2407c758f2195a5c718c6fa16c287a5bd93ed410.tar.bz2 plab-2407c758f2195a5c718c6fa16c287a5bd93ed410.zip |
add vmware-modules for linux kernel 3.14
Diffstat (limited to 'app-emulation')
35 files changed, 4079 insertions, 0 deletions
diff --git a/app-emulation/vmware-modules/ChangeLog b/app-emulation/vmware-modules/ChangeLog new file mode 100644 index 0000000..dd5e3e4 --- /dev/null +++ b/app-emulation/vmware-modules/ChangeLog @@ -0,0 +1,671 @@ +# ChangeLog for app-emulation/vmware-modules +# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/ChangeLog,v 1.117 2014/04/19 10:10:25 dilfridge Exp $ + +*vmware-modules-279.2 (19 Apr 2014) + + 19 Apr 2014; Andreas K. Huettel <dilfridge@gentoo.org> + -vmware-modules-279.0.ebuild, -vmware-modules-279.1.ebuild, + +vmware-modules-279.2.ebuild: + Version bump; remove old + +*vmware-modules-279.1-r1 (12 Apr 2014) + + 12 Apr 2014; Andreas K. Huettel <dilfridge@gentoo.org> + +vmware-modules-279.1-r1.ebuild, metadata.xml: + Version bump to make some modules optional, bug 501536 + +*vmware-modules-271.3 (12 Apr 2014) + + 12 Apr 2014; Andreas K. Huettel <dilfridge@gentoo.org> + -vmware-modules-264.5.ebuild, -vmware-modules-271.2.ebuild, + +vmware-modules-271.3.ebuild: + Version bump, bug 497816; remove old + + 27 Dec 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +files/264-newline.patch, vmware-modules-264.5.ebuild: + Add cosmetic patch for bug 439280 + + 23 Nov 2013; Magnus Granberg <zorry@gentoo.org> vmware-modules-279.0.ebuild, + vmware-modules-279.1.ebuild, +files/279-hardened.patch: + Update hardned patch for 279.X #491342 + +*vmware-modules-279.1 (06 Nov 2013) + + 06 Nov 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +vmware-modules-279.1.ebuild: + Version bump + + 02 Nov 2013; Andreas K. Huettel <dilfridge@gentoo.org> + -files/279-3.10.0.patch, vmware-modules-279.0.ebuild: + Re-add keywords after testing + + 02 Nov 2013; Andreas K. Huettel <dilfridge@gentoo.org> + files/279-vmblock.patch, vmware-modules-279.0.ebuild: + Apply proper patches. Tested with 3.10.7-gentoo-r1. + + 22 Oct 2013; Andreas K. Huettel <dilfridge@gentoo.org> + -files/238-2.6.39.patch, -files/238-makefile-kernel-dir.patch, + -files/238-3.2.0.patch, -files/238-d-make-root.patch, + -files/238-jobserver.patch, -files/238-makefile-include.patch, + -files/238-netdevice.patch, -files/238-sema.patch, + -files/238-unlocked_ioctl.patch, -vmware-modules-238.6.ebuild: + Drop old + +*vmware-modules-279.0 (19 Oct 2013) + + 19 Oct 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +files/279-3.10.0.patch, +files/279-apic.patch, + +files/279-makefile-include.patch, +files/279-makefile-kernel-dir.patch, + +files/279-netdevice.patch, +files/279-putname.patch, + +files/279-vmblock.patch, +vmware-modules-279.0.ebuild: + Version bump, added without keywords for testing. Bug 484098. Thanks to Billy + DeVincentis for the files. + + 11 Aug 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +files/264-3.10.0.patch, +files/271-3.10.0.patch, + vmware-modules-264.5.ebuild, vmware-modules-271.2.ebuild: + Add contributed patches for kernel 3.10.0, see bug 470896 + + 23 Jun 2013; Andreas K. Huettel <dilfridge@gentoo.org> + +files/264-3.8.0.patch, -vmware-modules-264.4.ebuild, + vmware-modules-264.5.ebuild: + Remove old; add patch to build 264 with kernel 3.8, bug 458228 + + 21 Jun 2013; Andreas K. Huettel <dilfridge@gentoo.org> + vmware-modules-238.6.ebuild, vmware-modules-264.5.ebuild, + vmware-modules-271.2.ebuild: + Add support for epatch_user, bug 459182 + + 16 Jun 2013; Vadim Kuznetsov vadimk@gentoo.org metadata.xml: + dropped myself as a maintainer. maintainer needed + +*vmware-modules-271.2 (10 Mar 2013) + + 10 Mar 2013; Vadim Kuznetsov vadimk@gentoo.org +vmware-modules-271.2.ebuild, + -vmware-modules-271.1-r1.ebuild, -vmware-modules-271.1.ebuild: + vmware desktop 9.0.2 version bump. Bugs 459566, 458228, 460908. + +*vmware-modules-264.5 (07 Jan 2013) + + 07 Jan 2013; Vadim Kuznetsov vadimk@gentoo.org +files/264-putname.patch, + +vmware-modules-264.5.ebuild: + vmware desktop 8.0.5 version bump + + 22 Dec 2012; Vadim Kuznetsov vadimk@gentoo.org vmware-modules-271.1-r1.ebuild: + apply patch to kernel gte 3.7.0 + +*vmware-modules-271.1-r1 (16 Dec 2012) + + 16 Dec 2012; Vadim Kuznetsov vadimk@gentoo.org +files/271-putname.patch, + +vmware-modules-271.1-r1.ebuild: + putname patch. Bug 447154. + + 12 Dec 2012; Samuli Suominen <ssuominen@gentoo.org> + vmware-modules-238.6.ebuild, vmware-modules-264.4.ebuild, + vmware-modules-271.1.ebuild: + Use udev.eclass and udev_dorules to install rules into correct directory wrt + #433912 by Martin von Gagern + +*vmware-modules-271.1 (09 Dec 2012) + + 09 Dec 2012; Vadim Kuznetsov vadimk@gentoo.org +files/271-apic.patch, + +files/271-makefile-include.patch, +files/271-makefile-kernel-dir.patch, + +files/271-netdevice.patch, +files/271-vmmon.patch, + +vmware-modules-271.1.ebuild: + vmware desktop 9.0.1 version bump.bugs 432918, 443022 + +*vmware-modules-238.6 (17 Jun 2012) +*vmware-modules-264.4 (17 Jun 2012) + + 17 Jun 2012; Vadim Kuznetsov vadimk@gentoo.org +vmware-modules-238.6.ebuild, + +vmware-modules-264.4.ebuild, -vmware-modules-238.5-r1.ebuild, + -vmware-modules-264.3.ebuild: + bump vmware desktop. bug 421269 + + 01 Jun 2012; Zac Medico <zmedico@gentoo.org> vmware-modules-238.5-r1.ebuild, + vmware-modules-264.3.ebuild: + inherit user for enewgroup + + 24 May 2012; Vadim Kuznetsov vadimk@gentoo.org +files/238-d-make-root.patch, + vmware-modules-238.5-r1.ebuild: + Andrew Dean's patch of 238 vmware modules for 3.4.0 kernel. Bug 411853 + + 22 May 2012; Vadim Kuznetsov vadimk@gentoo.org +files/264-d-make-root.patch, + vmware-modules-264.3.ebuild: + d_make_root patch for 3.4 kernel. Bug 411853. + + 07 May 2012; Vadim Kuznetsov vadimk@gentoo.org +files/264-apic.patch: + missing patch. Bug 414831 + +*vmware-modules-264.3 (05 May 2012) + + 05 May 2012; Vadim Kuznetsov vadimk@gentoo.org +vmware-modules-264.3.ebuild, + -files/264.2-3.2.0.patch, -vmware-modules-264.2-r1.ebuild, + files/264-3.2.0.patch, metadata.xml: + VMware desktop build 703057 + +*vmware-modules-264.2-r1 (26 Mar 2012) +*vmware-modules-238.5-r1 (26 Mar 2012) + + 26 Mar 2012; Vadim Kuznetsov vadimk@gentoo.org + +vmware-modules-238.5-r1.ebuild, +vmware-modules-264.2-r1.ebuild, + -vmware-modules-238.5.ebuild, -vmware-modules-264.2.ebuild: + udev rules moved to /lib/udev/rules.d + + 24 Mar 2012; Vadim Kuznetsov <vadimk@gentoo.org> +files/hardened.patch, + -vmware-modules-264.1.ebuild, vmware-modules-264.2.ebuild: + patch for hardened + + 12 Mar 2012; Vadim Kuznetsov <vadimk@gentoo.org> +files/264.2-3.2.0.patch: + missing patch + +*vmware-modules-264.2 (10 Mar 2012) + + 10 Mar 2012; Vadim Kuznetsov <vadimk@gentoo.org> +vmware-modules-264.2.ebuild: + vmware desktop version bump + + 10 Jan 2012; Vadim Kuznetsov <vadimk@gentoo.org> +files/238-3.2.0.patch, + +files/238-netdevice.patch, vmware-modules-238.5.ebuild: + patches for 3.1.x and 3.2 kernels. Bug 395305 + + 06 Jan 2012; Vadim Kuznetsov <vadimk@gentoo.org> files/264-3.2.0.patch: + fixed patch for 3.2.0 kernel . Bug 397733. + + 06 Jan 2012; Vadim Kuznetsov <vadimk@gentoo.org> +files/264-3.2.0.patch, + vmware-modules-264.1.ebuild: + added patch for 3.2 kernel + + 05 Dec 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -files/1.0.0.25-autoconf-generated.patch, + -files/1.0.0.25-makefile-include.patch, + -files/1.0.0.25-makefile-kernel-dir.patch, -files/1.0.0.25-sema.patch, + -vmware-modules-1.0.0.25-r3.ebuild, -files/1.0.0.25-sk_sleep.patch, + -vmware-modules-1.0.0.25-r4.ebuild, -files/1.0.0.25-unlocked_ioctl.patch, + -files/sched_h-2.6.32.patch, -files/apic.patch: + removed old version. bug 385727. + +*vmware-modules-264.1 (03 Dec 2011) + + 03 Dec 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/264-jobserver.patch, + +files/264-makefile-include.patch, +files/264-netdevice.patch, + +vmware-modules-264.1.ebuild, +files/264-makefile-kernel-dir.patch: + vmware desktop version bump + + 19 Oct 2011; Vadim Kuznetsov <vadimk@gentoo.org> -files/208-sema.patch, + -files/208-sk_sleep.patch, -files/208-unlocked_ioctl.patch, + -vmware-modules-208.2.ebuild: + 208 vmware modules removed + + 17 Oct 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-238.4.ebuild, -vmware-modules-238.4-r1.ebuild: + cleanup + +*vmware-modules-238.5 (08 Oct 2011) + + 08 Oct 2011; Vadim Kuznetsov <vadimk@gentoo.org> + +vmware-modules-238.5.ebuild: + version bump + +*vmware-modules-238.4-r1 (04 Sep 2011) + + 04 Sep 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/238-2.6.39.patch, + +vmware-modules-238.4-r1.ebuild: + Bug 368139 + + 18 Jul 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-238.3-r8.ebuild: + bug 374599 + +*vmware-modules-238.4 (15 Apr 2011) + + 15 Apr 2011; Vadim Kuznetsov <vadimk@gentoo.org> + +vmware-modules-238.4.ebuild: + version bump + + 09 Apr 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -files/1.0.0.24-autoconf-generated.patch, + -files/1.0.0.24-kernel-2.6.29.patch, -files/1.0.0.24-kernel-2.6.30.patch, + -files/1.0.0.24-makefile-kernel-dir.patch, -files/1.0.0.24-sema.patch, + -files/1.0.0.24-sk_sleep.patch, -files/1.0.0.24-vmnet-2.6.31.patch, + -files/1.0.0.24-unlocked_ioctl.patch, -vmware-modules-1.0.0.24-r3.ebuild: + 1.0.0.24 is replaced by 208.2 + + 30 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> files/208-sema.patch: + corrected sema patch + +*vmware-modules-208.2 (27 Mar 2011) + + 27 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/208-sema.patch, + +files/208-sk_sleep.patch, +files/208-unlocked_ioctl.patch, + +vmware-modules-208.2.ebuild: + vmware kernel modules for vmware server 2 host + +*vmware-modules-238.3-r8 (27 Mar 2011) + + 27 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/238-jobserver.patch, + +files/238-makefile-include.patch, +files/238-makefile-kernel-dir.patch, + +files/238-sema.patch, +files/238-unlocked_ioctl.patch, + +vmware-modules-238.3-r8.ebuild: + vmware kernel modules of the vmware player 3.1.3 or workstation 7.1.3 host + +*vmware-modules-1.0.0.25-r4 (18 Mar 2011) + + 18 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> + +vmware-modules-1.0.0.25-r4.ebuild: + BKL check, updated udev rules, better sed + + 16 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> + vmware-modules-1.0.0.24-r3.ebuild, vmware-modules-1.0.0.25-r3.ebuild: + patched for 2.6.38 + + 16 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-1.0.0.25-r1.ebuild, + cleanup + + 16 Mar 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -files/patches/000_all_makefile-include-directory.patch, + -files/patches/020_all_epoll-def-warnings.patch, + -vmware-modules-1.0.0.15-r2.ebuild, + -files/patches/vmmon/035_all_kernel-2.6.25.patch, + -files/patches/vmmon/040_all_kernel-2.6.27.patch, + -files/patches/vmnet/021_all_wireless_fix.patch, + -files/patches/vmblock/010_all_kernel-2.6.25.patch, + -files/patches/vmnet/025_all_kernel-2.6.25.patch, + -files/patches/vmnet/030_all_kernel-2.6.27.patch, + -files/patches/vmmon/030_all_fix-linux-headers.patch: + Bug 354383 + + 17 Feb 2011; Thomas Kahle <tomka@gentoo.org> + vmware-modules-1.0.0.25-r3.ebuild: + x86 stable per bug 352421 + + 11 Feb 2011; Vadim Kuznetsov <vadimk@gentoo.org> + vmware-modules-1.0.0.15-r2.ebuild: + back to testing + + 11 Feb 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-1.0.0.24-r1.ebuild, -vmware-modules-1.0.0.24-r2.ebuild, + -vmware-modules-1.0.0.25-r2.ebuild: + clean up + + 11 Feb 2011; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-1.0.0.15-r1.ebuild: + clean up + + 25 Jan 2011; Markos Chandras <hwoarang@gentoo.org> + vmware-modules-1.0.0.25-r3.ebuild: + Stable on amd64 wrt bug #352421 + +*vmware-modules-1.0.0.24-r3 (15 Jan 2011) + + 15 Jan 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/1.0.0.24-sema.patch, + +vmware-modules-1.0.0.24-r3.ebuild: + Bugs 345145, 351592. + Thanks Mateusz Dziadko, c1pher. + +*vmware-modules-1.0.0.25-r3 (13 Jan 2011) + + 13 Jan 2011; Vadim Kuznetsov <vadimk@gentoo.org> +files/1.0.0.25-sema.patch, + +vmware-modules-1.0.0.25-r3.ebuild: + Bug 345145 and 349649 and 351592 + Thanks to Mateusz Dziadko, Dane Smith and bugs et al. + +*vmware-modules-1.0.0.24-r2 (21 Nov 2010) + + 21 Nov 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +files/1.0.0.24-unlocked_ioctl.patch, +vmware-modules-1.0.0.24-r2.ebuild, + vmware-modules-1.0.0.25-r2.ebuild: + unlocked_ioctl patch + +*vmware-modules-1.0.0.25-r2 (21 Nov 2010) + + 21 Nov 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +files/1.0.0.25-unlocked_ioctl.patch, +vmware-modules-1.0.0.25-r2.ebuild: + updated unlocked_ioctl patch + + 21 Nov 2010; Vadim Kuznetsov <vadimk@gentoo.org> + -files/1.0.0.26-ioctl-2.6.36.patch, -files/1.0.0.26-iommu_map.patch, + -files/1.0.0.26-makefile-include.patch, + -files/1.0.0.26-makefile-kernel-dir.patch, -files/1.0.0.26-sk_sleep.patch, + -vmware-modules-1.0.0.26.ebuild: + replaced by vmware-modules-235 (in overlay) + + 05 Nov 2010; Fabio Erculiani <lxnay@gentoo.org> + vmware-modules-1.0.0.25-r1.ebuild, vmware-modules-1.0.0.26.ebuild, + +files/1.0.0.26-ioctl-2.6.36.patch: + add 2.6.36 Linux kernel support + + 04 Aug 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +files/1.0.0.24-sk_sleep.patch, vmware-modules-1.0.0.24-r1.ebuild, + +files/1.0.0.25-sk_sleep.patch, vmware-modules-1.0.0.25-r1.ebuild, + +files/1.0.0.26-iommu_map.patch, vmware-modules-1.0.0.26.ebuild, + +files/1.0.0.26-sk_sleep.patch: + patches for 2.6.35 kernel. Bug 322245, Bug 330019 + + 03 May 2010; Vadim Kuznetsov <vadimk@gentoo.org> + vmware-modules-1.0.0.25-r1.ebuild, vmware-modules-1.0.0.26.ebuild, + +files/apic.patch: + Bugs 274529, 317583 + Thanks to Mikhail Zolotaryov for the patch. + +*vmware-modules-1.0.0.26 (28 Feb 2010) + + 28 Feb 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +files/1.0.0.26-makefile-include.patch, -vmware-modules-1.0.0.25.ebuild, + +files/1.0.0.26-makefile-kernel-dir.patch, + +vmware-modules-1.0.0.26.ebuild: + vmware-modules for VMware Workstation 7.0.x and Player 3.0.x + + 26 Feb 2010; Vadim Kuznetsov <vadimk@gentoo.org> + +files/1.0.0.24-autoconf-generated.patch, + vmware-modules-1.0.0.24-r1.ebuild, + +files/1.0.0.25-autoconf-generated.patch, + vmware-modules-1.0.0.25-r1.ebuild: + Bug 301320 + +*vmware-modules-1.0.0.25-r1 (13 Feb 2010) + + 13 Feb 2010; Patrick Lauer <patrick@gentoo.org> + +vmware-modules-1.0.0.25-r1.ebuild: + Small fix for header changes in 2.6.33 and later + + 02 Jan 2010; Vadim Kuznetsov <vadimk@gentoo.org> + -vmware-modules-1.0.0.24.ebuild, vmware-modules-1.0.0.24-r1.ebuild, + vmware-modules-1.0.0.25.ebuild, +files/sched_h-2.6.32.patch: + Bug 295955 + + 30 Oct 2009; Vadim Kuznetsov vadimk@gentoo.org + -files/1.0.0.23-makefile-kernel-dir.patch, + -vmware-modules-1.0.0.23.ebuild, -vmware-modules-1.0.0.23-r1.ebuild, + -files/1.0.0.23-r1-kernel-2.6.29.patch: + cleanup + + 25 Sep 2009; Markus Meier <maekke@gentoo.org> + vmware-modules-1.0.0.25.ebuild: + amd64 stable, bug #282213 + +*vmware-modules-1.0.0.24-r1 (22 Sep 2009) + + 22 Sep 2009; Vadim Kuznetsov vadimk@gentoo.org + +vmware-modules-1.0.0.24-r1.ebuild, +files/1.0.0.24-vmnet-2.6.31.patch: + vmnet patch for 2.6.31 kernel. Bug 274173, comment 15. + + 02 Sep 2009; Vadim Kuznetsov vadimk@gentoo.org + -files/patches/vmmon/050_all_kernel-2.6.29.patch, + -files/patches/vmnet/040_all_kernel-2.6.29.patch: + revert previous commit. Bug 273173 + + 28 Aug 2009; Vadim Kuznetsov vadimk@gentoo.org + +files/patches/vmmon/050_all_kernel-2.6.29.patch, + +files/patches/vmnet/040_all_kernel-2.6.29.patch: + bugs 264098, 273173. 1.0.0.15-r2 patches suggested in 272173 + + 25 Aug 2009; Christian Faulhammer <fauli@gentoo.org> + vmware-modules-1.0.0.25.ebuild: + stable x86, security bug 282213 + +*vmware-modules-1.0.0.25 (22 Aug 2009) + + 22 Aug 2009; Vadim Kuznetsov vadimk@gentoo.org + +files/1.0.0.25-makefile-include.patch, +vmware-modules-1.0.0.25.ebuild, + +files/1.0.0.25-makefile-kernel-dir.patch: + Version bump. modules for vmware-{workstation,player}-{6.2}.5.3 + + 03 Jul 2009; Jeroen Roovers <jer@gentoo.org> metadata.xml: + Fix e-mail address. + +*vmware-modules-1.0.0.24 (14 Jun 2009) + + 14 Jun 2009; Vadim Kuznetsov vadimk@gentoo.org + +vmware-modules-1.0.0.24.ebuild, +files/1.0.0.24-kernel-2.6.29.patch, + +files/1.0.0.24-kernel-2.6.30.patch, + +files/1.0.0.24-makefile-kernel-dir.patch, metadata.xml: + Bugs 268099, 270150, 273750. New ebuild without vmware-mod eclass. + +*vmware-modules-1.0.0.23-r1 (16 May 2009) + + 16 May 2009; Mike Auty <ikelos@gentoo.org> + +vmware-modules-1.0.0.23-r1.ebuild, + +files/1.0.0.23-r1-kernel-2.6.29.patch: + Version bump vmware-modules for 2.6.29 support. + + 22 Feb 2009; Mike Auty <ikelos@gentoo.org> + -files/1.0.0.20-vmblock-2.6.26-2.patch, + -files/1.0.0.20-makefile-kernel-dir.patch, + -files/1.0.0.20-vmblock-2.6.26-1.patch, + -files/1.0.0.20-vmmon-2.6.26.patch, -files/1.0.0.20-vmnet-2.6.26.patch, + -files/1.0.0.22-makefile-kernel-dir.patch, + -vmware-modules-1.0.0.20.ebuild, -vmware-modules-1.0.0.22.ebuild: + Clear out old versions of vmware-modules that are no longer needed due to + the removal of insecure versions of vmware products (bug 245941). + + 14 Jan 2009; Mike Auty <ikelos@gentoo.org> + files/patches/vmnet/030_all_kernel-2.6.27.patch: + Third time lucky, more patches for < 2.6.26 kernels. + + 14 Jan 2009; Mike Auty <ikelos@gentoo.org> + files/patches/vmnet/030_all_kernel-2.6.27.patch: + Add patch to try and fix bug 254768. + + 12 Jan 2009; Mike Auty <ikelos@gentoo.org> Manifest: + Fix up vmware-modules-1.0.0.15 patches for kernels older than 2.6.27. + + 12 Jan 2009; Markus Meier <maekke@gentoo.org> + vmware-modules-1.0.0.23.ebuild: + amd64/x86 stable, bug #245941 + + 11 Jan 2009; Markus Meier <maekke@gentoo.org> + vmware-modules-1.0.0.15-r2.ebuild: + amd64/x86 stable, bug #236167 + + 10 Jan 2009; Mike Auty <ikelos@gentoo.org> + -files/1.0.0.17-update115-nasty-hack.patch, + -vmware-modules-1.0.0.16-r1.ebuild, -vmware-modules-1.0.0.17.ebuild, + -vmware-modules-1.0.0.17-r1.ebuild: + Clear out old modules for products no longer in the tree. + +*vmware-modules-1.0.0.15-r2 (10 Jan 2009) + + 10 Jan 2009; Mike Auty <ikelos@gentoo.org> + +files/patches/vmmon/040_all_kernel-2.6.27.patch, + +files/patches/vmnet/030_all_kernel-2.6.27.patch, + +vmware-modules-1.0.0.15-r2.ebuild: + Add in vmware-modules-1.0.0.15-r2. Should compile on kernels up to and + including 2.6.28, big thanks go to Tim Yamin for help with the patches. + +*vmware-modules-1.0.0.23 (09 Nov 2008) + + 09 Nov 2008; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.23-makefile-kernel-dir.patch, vmware-modules-1.0.0.20.ebuild, + vmware-modules-1.0.0.22.ebuild, +vmware-modules-1.0.0.23.ebuild: + Add in vmware-modules-1.0.0.23 for vmware-workstation-6.5 and + vmware-player-2.5. + +*vmware-modules-1.0.0.22 (30 Sep 2008) + + 30 Sep 2008; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.20-vmblock-2.6.26-1.patch, + +files/1.0.0.20-vmblock-2.6.26-2.patch, + +files/1.0.0.20-vmmon-2.6.26.patch, + +files/1.0.0.22-makefile-kernel-dir.patch, + +files/1.0.0.20-vmnet-2.6.26.patch, -vmware-modules-1.0.0.11-r1.ebuild, + -vmware-modules-1.0.0.13-r1.ebuild, vmware-modules-1.0.0.20.ebuild, + +vmware-modules-1.0.0.22.ebuild: + Remove old unused versions, fix up 1.0.0.20 bugs and put in a new version + for workstation 6.0.5 and player 2.0.5. + + 18 Jun 2008; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.20-makefile-kernel-dir.patch, vmware-modules-1.0.0.20.ebuild: + Fix kernel build directories (bug 227941). + +*vmware-modules-1.0.0.20 (14 Jun 2008) + + 14 Jun 2008; Mike Auty <ikelos@gentoo.org> +vmware-modules-1.0.0.20.ebuild: + Add in vmware-modules-1.0.0.20 for workstation 6.0.4 and player 2.0.4. + + 26 Apr 2008; Mike Auty <ikelos@gentoo.org> + +files/patches/vmblock/010_all_kernel-2.6.25.patch, + +files/patches/vmmon/035_all_kernel-2.6.25.patch, + +files/patches/vmnet/025_all_kernel-2.6.25.patch: + Add patches for -r1 ebuilds to ensure they work on 2.6.25 and older + kernels. + + 31 Jan 2008; Mike Auty <ikelos@gentoo.org> ChangeLog: + Re-sign digestless manifest. + +*vmware-modules-1.0.0.17-r1 (26 Jan 2008) + + 26 Jan 2008; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.17-update115-nasty-hack.patch, + +files/patches/vmmon/030_all_fix-linux-headers.patch, + +files/patches/vmnet/021_all_wireless_fix.patch, + +vmware-modules-1.0.0.17-r1.ebuild: + Bump vmware-modules to any-any115, and apply fixes for wireless and 2.6.24. + + 25 Nov 2007; Mike Auty <ikelos@gentoo.org> + -files/1.0.0.16-kernel-2.6.22.patch, -vmware-modules-1.0.0.16.ebuild, + vmware-modules-1.0.0.17.ebuild: + Bump to vmware-any-any-update114. Also update 1.0.0.17 to use the latest + vmware-player package. + + 14 Oct 2007; Mike Auty <ikelos@gentoo.org> + vmware-modules-1.0.0.16-r1.ebuild: + Add vmblock module building to vmware-modules-1.0.0.16-r1 + +*vmware-modules-1.0.0.17 (14 Oct 2007) + + 14 Oct 2007; Mike Auty <ikelos@gentoo.org> vmware-modules-1.0.0.16.ebuild, + +vmware-modules-1.0.0.17.ebuild: + Add the latest modules for vmware-workstation-6.0.1 + +*vmware-modules-1.0.0.16-r1 (16 Sep 2007) + + 16 Sep 2007; Mike Auty <ikelos@gentoo.org> + -files/1.0.0.15-gcc4-ignore-pedantic-errors.patch, + +vmware-modules-1.0.0.16-r1.ebuild: + Adding in vmware-modules-1.0.0.16-r1, now that vmware-any-any-update can + handle workstation 6. Also cleaned out an old patch for 1.0.0.15. + + 28 Jul 2007; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.16-kernel-2.6.22.patch, vmware-modules-1.0.0.16.ebuild: + Redigest for vmware-any-any-update112. + + 12 Jul 2007; Chris Gianelloni <wolf31o2@gentoo.org> + -vmware-modules-1.0.0.11.ebuild, vmware-modules-1.0.0.11-r1.ebuild, + -vmware-modules-1.0.0.13.ebuild, vmware-modules-1.0.0.13-r1.ebuild: + Marking 1.0.0.11-r1 and 1.0.0.13-r1 stable on amd64/x86 since the changes + from the previous ebuilds is just the placement of a variable, and the + current stable versions didn't work properly. + +*vmware-modules-1.0.0.16 (24 Jun 2007) + + 24 Jun 2007; Mike Auty <ikelos@gentoo.org> + +vmware-modules-1.0.0.16.ebuild: + Add in the latest modules for vmware-player-2 and vmware-workstation-6. + + 28 Apr 2007; Mike Auty <ikelos@gentoo.org> + -files/patches/010_all_makefile-vm-build-no-unused-warnings.patch: + Remove unnecessary patch, that's now part of any-any109. + + 28 Apr 2007; Mike Auty <ikelos@gentoo.org> + files/digest-vmware-modules-1.0.0.11, + files/digest-vmware-modules-1.0.0.11-r1, + files/digest-vmware-modules-1.0.0.13, + files/digest-vmware-modules-1.0.0.13-r1, + files/digest-vmware-modules-1.0.0.15-r1, Manifest: + Redigest for vmware-any-any109. + + 04 Mar 2007; Mike Auty <ikelos@gentoo.org> + -vmware-modules-1.0.0.15.ebuild: + Bump vmware-any-any to 108. Remove old vmware-server module ebuild. + + 05 Feb 2007; Mike Auty <ikelos@gentoo.org> + vmware-modules-1.0.0.15-r1.ebuild: + Vmware-any-any bump to support 2.6.20 and fix a copyright date. + + 17 Dec 2006; Mike Frysinger <vapier@gentoo.org> + +files/patches/010_all_makefile-vm-build-no-unused-warnings.patch, + +files/patches/020_all_epoll-def-warnings.patch: + Fix building with newer kernels #146004. + + 01 Dec 2006; Chris Gianelloni <wolf31o2@gentoo.org> + vmware-modules-1.0.0.15-r1.ebuild: + Stable on amd64/x86 for vmware-workstation-5.5.3. + + 01 Dec 2006; Mike Auty <ikelos@gentoo.org> + files/digest-vmware-modules-1.0.0.11, + files/digest-vmware-modules-1.0.0.11-r1, + files/digest-vmware-modules-1.0.0.13, + files/digest-vmware-modules-1.0.0.13-r1, + files/digest-vmware-modules-1.0.0.15-r1, Manifest: + Redigest for vmware-any-any105. + + 30 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> + -vmware-modules-1.0.0.8.ebuild: + Removed verion 0.0.8 since we have removed the only VMware product (VMware + Workstation 3.2.1) that used it. + +*vmware-modules-1.0.0.15-r1 (17 Oct 2006) +*vmware-modules-1.0.0.13-r1 (17 Oct 2006) +*vmware-modules-1.0.0.11-r1 (17 Oct 2006) + + 17 Oct 2006; Mike Auty <ikelos@gentoo.org> + +vmware-modules-1.0.0.11-r1.ebuild, +vmware-modules-1.0.0.13-r1.ebuild, + +vmware-modules-1.0.0.15-r1.ebuild: + Version bump for all vmware-modules to fix for bug 149679, thanks to Jason + Urbank. + + 22 Sep 2006; Mike Auty <ikelos@gentoo.org> + files/patches/000_all_makefile-include-directory.patch: + Updated patch fixing bug #148613, thanks to Alon Bar-Lev. + + 13 Sep 2006; Mike Auty <ikelos@gentoo.org> + +files/1.0.0.15-gcc4-ignore-pedantic-errors.patch, + vmware-modules-1.0.0.15.ebuild: + Add a patch to fix compilation against kernels <= 2.6.16 with gcc-4.1. + Closes bug #146004. + + 28 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> + vmware-modules-1.0.0.8.ebuild: + Stable on x86 for vmware-workstation. + + 27 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> + vmware-modules-1.0.0.11.ebuild: + Stable on amd64 and x86 for vmware-workstation. + + 25 Aug 2006; Mike Auty <ikelos@gentoo.org> + files/digest-vmware-modules-1.0.0.8, files/digest-vmware-modules-1.0.0.11, + files/digest-vmware-modules-1.0.0.13, Manifest: + Redigested for vmware-any-any-update104. + + 22 Aug 2006; Chris Gianelloni <wolf31o2@gentoo.org> + vmware-modules-1.0.0.13.ebuild: + Stable on amd64 and x86 for vmware-workstation and vmware-player. + + 19 Aug 2006; Mike Auty <ikelos@gentoo.org> vmware-modules-1.0.0.15.ebuild: + Update vmware-modules to use the latest vmware-server package. + + 08 Aug 2006; Mike Auty <ikelos@gentoo.org> + files/digest-vmware-modules-1.0.0.8, files/digest-vmware-modules-1.0.0.11, + files/digest-vmware-modules-1.0.0.13, Manifest: + Make use of vmware-any-any103, which fixes kernel problems on 2.6.18, and + also two patches for problems with the kernel build system, thanks to Georgi + Georgiev <chutz (at) gg3.net> and Alon Bar-Lev <alon.barlev (at) gmail.com>. + Closes bug #142855. + +*vmware-modules-1.0.0.13 (31 Jul 2006) +*vmware-modules-1.0.0.11 (31 Jul 2006) +*vmware-modules-1.0.0.8 (31 Jul 2006) + + 31 Jul 2006; Mike Auty <ikelos@gentoo.org> +vmware-modules-1.0.0.8.ebuild, + +vmware-modules-1.0.0.11.ebuild, +vmware-modules-1.0.0.13.ebuild, + vmware-modules-1.0.0.15.ebuild: + Add in vmware-modules for workstation and player products. + +*vmware-modules-1.0.0.15 (31 Jul 2006) + + 31 Jul 2006; Mike Auty <ikelos@gentoo.org> + +files/patches/000_all_makefile-include-directory.patch, +metadata.xml, + +vmware-modules-1.0.0.15.ebuild: + Initial commit of vmware-modules, as used by several vmware-packages. diff --git a/app-emulation/vmware-modules/Manifest b/app-emulation/vmware-modules/Manifest new file mode 100644 index 0000000..145c3e6 --- /dev/null +++ b/app-emulation/vmware-modules/Manifest @@ -0,0 +1,51 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +AUX 264-3.10.0.patch 24201 SHA256 be0dbd21542475780bd391566ffd213b9ba9b3ce7a2383f10306ad0f7927b62e SHA512 7a5f6b0247db63894bcaa7718dc5d4cd7203bc42e1f5a3b5029ca92b25d19ac34f837a7f21661801a9c42f3f4ef84f8151afce4a0d1aab91c5e3e6122374537b WHIRLPOOL 2d9b3a0ce80d51ee79991c13d979d01ba8c6ecea8c3f04c5b991e5c5276c2b5f9f88b5f39d47c44d30ad6de5fbbb518a76d4405bcc47615eab23fc9918773b32 +AUX 264-3.2.0.patch 2949 SHA256 4105952362a9bf8a054df1c23f2562e86f79b3bef70696422548c01db248c1b0 SHA512 d3b9f2ad688c7ad0922f9b036f3b2fb0e7209cf4814e34431dccb72f11d239ac8bf9cf16f7e6e8ddfbcf839ad043bbc45233fe488564665bb782b8e296e6facf WHIRLPOOL 4041bfbbb472c6eb7372ca8883ee037c0facc0d1b1c85fab3adb01783291e5c1f2b1685a9cfa41e4433d4255e495af735e0d8af0726c0bc31d15564c96abb0bc +AUX 264-3.8.0.patch 1243 SHA256 75bca77a37dec85288c28805799690cbd39ef4dc87da9c7ee1486d7872a1e669 SHA512 4c6e437e7198cc24c344116410f175a460e81f5ec33e165dca80851c833925c722d0d0147b2df50aa5101afa16b9145538bf889a6d788b1265419bef04d40d49 WHIRLPOOL 0a4caf5729d1dfb05a0cc84176bc904383aaf184007fdc8fd953d9ba0c4234dc4fc49a99f5c1e1c1431dadff2a3d3bc8ce925a528306fa9ca5459e93321fd678 +AUX 264-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0 +AUX 264-d-make-root.patch 519 SHA256 aad9819961203f4d2e65532567b4f5b485bb583f1a2f322e84919d95505ed0f1 SHA512 de192adfe94493d3e8ac405df035f9da44f9421093f2a2fc322dcf552b9ca3bea0582b1a23520ea1e31d13b8fabcabbe83ae4400172aae520fb2732f39a643da WHIRLPOOL 16f71333ac286a2ad1249bbc2ecabc07f849beaabf525d6d5d6abcd7d7fbb5e6533c723c4607145eb6d0f2463c72e3ae49f6004c942b25e593cb7da4c2601dd1 +AUX 264-jobserver.patch 2899 SHA256 131c606fdafe80f10151c667796270101f3b06ee70a1b872862e15bcfb4ee46d SHA512 cb744aaea00b6eb6970987dd62b71ee9194d8c9ee8941447f0f562af14ba342eee241a3b131de8ad96a8481a5cdf6d88149fd4d409d938ddfeb44b520c5bd790 WHIRLPOOL d7050bbb7160704a9f922a17e2aae14050f4618e9b469bcbb51ff0859be78f15374777b3e1504c87b5298b41ec8191dfa688a183a4d4c110bab8178d704562d1 +AUX 264-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338 +AUX 264-makefile-kernel-dir.patch 2201 SHA256 780b79fcc6e8e836632f4542ac6c3da2d475b3ad1e2e88e1c51aea849a5172c7 SHA512 bb67ad9ec9152fb0192ba978566a6777bbf5d99ed8ccc6762c5af96615368d497d4183e42fbe78d8359f3d59749929742131e83e77edf649878767f0007babbf WHIRLPOOL 9932ed3ac03ead8507c348512a7a554dad28c2133347ce83dad4bc528228944559950258cb0f838bd8510d637988c2aba1105fa8fbea3a7852ed0df7af0aae49 +AUX 264-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a +AUX 264-newline.patch 448 SHA256 30a38b329ea2209c75fc20326ae6d5aef93ad6b17efba53a22ac49a7ec009727 SHA512 8aa405e985cd9faa5719210751ce9fecd198a174043a0c5976738a679dec82911bacbedb3c7af2e6f9334e5c63ef1747cdf7e3efcff83cfa1894f4af63da7d16 WHIRLPOOL 51227f28b7ce5343654f8c350be29839791a1f677d7358b239e1cfe410fb6a72351700f6bd63a3f38802d5e361a872b9356f376f65d34ad3bb5fc8ad05b763f7 +AUX 264-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45 +AUX 271-3.10.0.patch 23418 SHA256 346d1ca7705dd5f791e0d69cdbb346ebd31f2f4f11f3989c23d1a89e11e1b91b SHA512 878678f951b05137deb1656ccd7fd3185887f02649f2a223ef60ccecdedc7aeda6ca08ddd108e379734b5e04ef11d326b20e45c069c53cc52b7a6869b8db6410 WHIRLPOOL 196515870addefcd6857dd3e44a04b8a6c0da39185e7cea7826f1498f5a4c17997ebe43aada7f22a1c3fa94302576ced2a7ed36e2452de00711256c83f7fa41e +AUX 271-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0 +AUX 271-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338 +AUX 271-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6 +AUX 271-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a +AUX 271-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45 +AUX 271-vmmon.patch 1581 SHA256 a4e89766232d0fc0456bb026978dedca17fcc62e247c8d65ae747b537e62fd13 SHA512 10aca60b959647c058fa69f851892a0245acad971028876da8d0a0e6002d0e8f6f2677fd0d9b140ee8a1a68cf2cfa3f8937a992f8b0e7e163aa6bcc17b75c979 WHIRLPOOL 28d1a34e89c7a995dbde48d87d8942c6f58e61f4a24189a1463c148c843fdf16cea7df497993eb6fb8d8de228f07ae8a44233bb63e42b54ab1f762e7e24889ba +AUX 279-apic.patch 302 SHA256 60e7df881281fedcabe9ea4427b324b5e1142a1a2b6ab5236ac0843bd1051048 SHA512 003240043e5875d8c6425c146e708eb3c3d8be7fa48a2ac42b3071f00dafdbd51f7796d6f884298b135adccaf8a3eac32fd82b34a436a724da125dac5f6261d7 WHIRLPOOL 4707d0ddd532d5ec27ee2ba3d0fb25c1972bbc9f958b4b89f2f5cceffdf955ba88cd1be0cde046aa5fa688d52faeab5ccf3f03bbccb3e9b088abc37ad579e8e0 +AUX 279-hardened.patch 3334 SHA256 198c182b626aeeb0c6e6558e6982b6d9cd2f11bf03515f72972842f5c773e52c SHA512 eb6829742c44677c6d475894a2a996a87feb1c2ab9afda6a045333fc5befb1c2551ea17ec33e665542d322fb43195b6cfcd576665a73cfc82d66a98579521cf3 WHIRLPOOL d8fde574d68978a4850f06469e5a6dfe21acd0a68b744f3f37ffeb98d5f8786eedeb9fb435e1b141044a23fb142ae44879ee09a45229f2be1c84ef744c15cb7a +AUX 279-makefile-include.patch 2501 SHA256 208121855fe18ecb279ff40f2833463559363461c2170d32c17040211a01f169 SHA512 c498c025c7eb025f6554cee683242dd73e4a284e4b28c95b75339f4f4a912a156acc1845881fbd78bf399c2092af7413f5d6c4782cd066527ea275518b411c1d WHIRLPOOL e03a6d7139ab7b309e0ca1527cb8b52a8f84f5f5d997a510305d2a6ccdd39f33b18c7276df8ac78d92d2a17a66236f582baaa5e374069d3912090544908a0338 +AUX 279-makefile-kernel-dir.patch 2153 SHA256 d76b1028d21b804836e36478d243cd7914435a34f3fe014058e0a9cc7a020653 SHA512 f18339dc8ac4c864b0c2fb234ad2db8f4638a5cd28e8fd11b5593c82107925b41b42e0d0acac52232a373780d79a3e397f70886534cdf889055e86cfda718f62 WHIRLPOOL 70c869bf4efab6843856addd0c5f5a295ed2fe38f9fc2a8ab2ca55523cd39cb92018d6bd0dac75658fa0f5260962c98f0bbd001593f3f11c2d204c693061c5b6 +AUX 279-netdevice.patch 833 SHA256 8f17ce379abda45a8f94e1dcd6e43367273f97f76edd41f9941beb3b1730a751 SHA512 b4ec7c1694968a1843f10e8bfe0dbfdc99bd3b5fc1391456d91a3648b848b82df681a0748d967afa19e728c4d19b79b6a3cb9fd3e15a52a5cab048a6ac9b06a9 WHIRLPOOL b0cabe2ec1b8ca52d427c02593d6057c98d4ed00c578d006de65460138c37a5be76a7938d85f5a35eb6f49ee5e34065ce62b60a51b0ccf021639a59b27aeac8a +AUX 279-putname.patch 394 SHA256 b8103d3c72c24696e974e49dcdcdf2d5a2b2c2fdd5f6ca050842b840e906ba77 SHA512 86a0a0ec3ff225940190056e85d498fd7eb260bcc52882fea8921398f572bc46f56c3f2941d3f3d1587a07bc72c8885cbddacf632d2b5fed7d8c9d284399d6d8 WHIRLPOOL e1e8afcafe00131fd6d90b61e5d911da69d7c26b7fd19be085eb5cfd23c2ab19784ae5ddf18928f9cc4a178d87c6d51e8de27dfab8507e2d57fc18868fde9f45 +AUX 279-vmblock.patch 1041 SHA256 217d27619ac782711686cffee44fbc4bbb40eb0657f335357ad1b0d064f30a35 SHA512 e8e565b677110090cb5bdb7c18d3e97c31049d846b82ee0406aa27dbfa9af8afc39512f1314d49edd6108ec576f3cbc565921de8dfdaaefe2822029ef98c303c WHIRLPOOL 769d0cffcb186d6110de049db963e20e049ef11d92b872c1a6ecfe262acad6c17f456376d219ce01e22839ddcb6a21a2d3e995d797f4c962a0838318dc6f56f9 +AUX hardened.patch 5052 SHA256 191cf892bfb9a6288d110191de824bf6243bc6f48f1e62ab49f3582c7ade5af6 SHA512 52dcca8d9f689f0a0d0ca369c0c7ce0d177de3529d2d1325330eb5a9e940a55e8930bbbe7374793bdf29cbdefac9727e9eb21d00f81ad4f5eddba3a51597b7a5 WHIRLPOOL 539731bc36f3e292403f55d74c353deeb28baa312f726b36d2a6060adf3483dfa2ed011baf93eff941fa754ef62f4d6da86868c40550ee2292c4a711e061bde0 +EBUILD vmware-modules-271.3.ebuild 2178 SHA256 82ce0ec185be017baec7cc7a76019a6a076730cdbac66a966d4c4b72ecd8c909 SHA512 99c3fb09ba095ee02bd32ad4f31ef51a57db7a6afc5699c6fe1da12efe478667072353eb9aab178feaf8dee993059b906efbbfd1ce9e423d12ae1806fc154bbf WHIRLPOOL cc3f663646f2587c580369643f5240367b34be7cf28399a5b155341b2917e9c324580b8bab902208ee54719d7e49f7dfb7dcbd984da76737ca8c255d4cc2bc78 +EBUILD vmware-modules-279.1-r1.ebuild 2682 SHA256 d696123ae38eed5a717c06d007dd71b6fd0e03e9da2e62ecc88e38a5bc874c05 SHA512 6814a7f149bc136eb8ae1d9933ab803455a72929b5aa19860c153ca1c12059bce11b09e209f4597fdcce5d7a28ca1747c47d716e83c6e0606ed52a50746603e9 WHIRLPOOL f7debc1a7911e995044ea25873cdc7a7d481e70ee2383750aa3d9fa1c531dd68f6402c56a70db015b72a0bfd3f17e4f725e69318c4d063afecd4d772fd9b714d +EBUILD vmware-modules-279.2.ebuild 2679 SHA256 84aac19af9b1a989b2a12aa2938ff904b632cb05927e5b65c4fc78938e2203e2 SHA512 747bf0b079cb4e53d19678b24e116bfa9bd6193c0d1228ee12071e38fe026ad88e7bb5ccd6ab153152c3ce9987bffdd711af90efd87966fcb6a93843eab077d0 WHIRLPOOL 77b3b27bac491b0f1dbad52389d45ded4cf31642f5b8f0170ade9c67503ebd9fe83e4b13aa5257d6677fb79370e2bb9b6eb8f351f00d815ae06f63cf7dd3d68c +MISC ChangeLog 25681 SHA256 d7c63ffa3f81f507a2ac7c9888ee423fc27c559a9c37f6911efec74e255238f0 SHA512 567164ed84578c52e4c1327cb8e64ff3ef54ad9534d02cd77e0ea7c10e87fdf3f61614f7d7fb6637504bf3dd6afed94bb549bc69808eff727efafef7b636e3a1 WHIRLPOOL 86444467582825ec284d6694df2b5e474439efc6129ec6631973479f5e232abf2ebabb1e090fcf7cbd798ca76b17379f0dd686b1d33f7f7535264c5732fcefe8 +MISC metadata.xml 626 SHA256 df85fe94586e898742dda5a30bf95be1c66bded72b9b679b4bda9fb3113bb94a SHA512 5c16977fa1e95f123891324b24d20161bfbfa5f4a38371374290e635bba33cbbc933761f44b826503c37e4bb2295c4026356eddc6aef091c07dc17f773f538ec WHIRLPOOL f83d377fa941fbcfe25dfc83ad276f55782c1e9bdff6dc7ae147be667d7129ae55dae6c19c18544dc27123977d3aa6273f185b4cced70ab841e87a04a4fcae82 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.22 (GNU/Linux) + +iQIcBAEBCAAGBQJTUkyOAAoJEJS/30SErRQvphIP/Alu3XG6Pag47/bqei/W0R65 +5ARa1z4Y1IPZMyEmVg57QfxinSXPn8DS7w0zkDh40sZXf1YF8BxojPsXxC5W7Fdx +yLkEREp51BuElvKLlvF84AGEwhrwPCcDuPc1FVZBDO6BAJaDY3aEORMOvGv8vTPu +xTQ91GAAXVO1TYUT9UtNUazqjefZcirz2fLWlwgNCNpJp27vz06f3eHdU1RofUwk +G2h4+Ono3kUPvvT7otzYEZnVGHNhH9ifCgwfvA0K0vo9GdSGK3uzT3rvRmhH9jLM +agn5srcwuSOS6bihmpiZIcn1Y2Lu+UM2mkwMa9LKlTx3YdDUzzRYv18ySPKdjaHY +yfiES+oDu/vMW4tBvgnHWeYL8iO+EFgZfzfJjOL3Tqu4VN6RTKzji+OgF/OPV8c6 +43oIhTHhPw25r78B+8Lj48ZzEe+dfjexegB1ov4mjOxW20volaZ1bqMv9f3Y/898 +4PaAJDWt0vFZex0+7zf8dswoRW4SKrVkDbSHVKjBPQWFglrdfa12rx7KHTw7jvht +57nGF+Q9m8eaarQokRWHk6YS7phGu7dgYwk1LGXQrbnJ51xfX8iwdg7jhHYPaHqL +WdYbFTRdmNb68/7GCFyGWcY+Nkf3p1gvk1GHPwCTb6wa8ixBF1UxUuKhgiDvFFNm +C/v4y6/tFCe1aJV0fZJt +=baV5 +-----END PGP SIGNATURE----- diff --git a/app-emulation/vmware-modules/files/264-3.10.0.patch b/app-emulation/vmware-modules/files/264-3.10.0.patch new file mode 100644 index 0000000..cdff400 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-3.10.0.patch @@ -0,0 +1,828 @@ +diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c +index 2dd83fe..d945749 100644 +--- a/vmblock-only/linux/control.c ++++ b/vmblock-only/linux/control.c +@@ -208,9 +208,10 @@ SetupProcDevice(void) + VMBlockSetProcEntryOwner(controlProcMountpoint); + + /* Create /proc/fs/vmblock/dev */ +- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, +- VMBLOCK_CONTROL_MODE, +- controlProcDirEntry); ++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, ++ VMBLOCK_CONTROL_MODE, ++ controlProcDirEntry, ++ &ControlFileOps); + if (!controlProcEntry) { + Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n"); + remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry); +@@ -218,7 +219,6 @@ SetupProcDevice(void) + return -EINVAL; + } + +- controlProcEntry->proc_fops = &ControlFileOps; + return 0; + } + +diff --git a/vmnet-only/bridge.c b/vmnet-only/bridge.c +index 10eaa41..6fdc19e 100644 +--- a/vmnet-only/bridge.c ++++ b/vmnet-only/bridge.c +@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation); + static Bool VNetBridgeIsDeviceWireless(struct net_device *dev); + static void VNetBridgePortsChanged(VNetJack *this); + static int VNetBridgeIsBridged(VNetJack *this); +-static int VNetBridgeProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb); + static PacketStatus VNetCallSMACFunc(struct SMACState *state, + struct sk_buff **skb, void *startOfData, +@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge + /* + *---------------------------------------------------------------------- + * ++ * VNetBridgeProcShow -- ++ * ++ * Callback for read operation on this bridge entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - pointer to bridge ++{ ++ VNetBridge *bridge = (VNetBridge*)data; ++ ++ if (!bridge) { ++ return 0; ++ } ++ ++ VNetPrintPort(&bridge->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", bridge->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_bridge_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_bridge_fops = { ++ .open = proc_bridge_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetBridge_Create -- + * + * Creates a bridge. Allocates struct, allocates internal device, +@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0") + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG, +- &bridge->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG, ++ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge); + if (retval) { + if (retval == -ENXIO) { + bridge->port.jack.procEntry = NULL; + } else { + goto out; + } +- } else { +- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead; +- bridge->port.jack.procEntry->data = bridge; + } + + /* +@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetBridgeProcRead -- +- * +- * Callback for read operation on this bridge entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - pointer to bridge +-{ +- VNetBridge *bridge = (VNetBridge*)data; +- int len = 0; +- +- if (!bridge) { +- return len; +- } +- +- len += VNetPrintPort(&bridge->port, page+len); +- +- len += sprintf(page+len, "dev %s ", bridge->name); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c +index b12b982..395f5ce 100644 +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -1775,21 +1775,17 @@ VNetSetMACUnique(VNetPort *port, // IN: + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintJack(const VNetJack *jack, // IN: jack +- char *buf) // OUT: info about jack ++ struct seq_file *seqf) // OUT: info about jack + { +- int len = 0; +- + read_lock(&vnetPeerLock); + if (!jack->peer) { +- len += sprintf(buf+len, "connected not "); ++ seq_printf(seqf, "connected not "); + } else { +- len += sprintf(buf+len, "connected %s ", jack->peer->name); ++ seq_printf(seqf, "connected %s ", jack->peer->name); + } + read_unlock(&vnetPeerLock); +- +- return len; + } + + +@@ -1809,52 +1805,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintPort(const VNetPort *port, // IN: port +- char *buf) // OUT: info about port ++ struct seq_file *seqf) // OUT: info about port + { +- int len = 0; ++ VNetPrintJack(&port->jack, seqf); + +- len += VNetPrintJack(&port->jack, buf+len); +- +- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ", + port->paddr[0], port->paddr[1], port->paddr[2], + port->paddr[3], port->paddr[4], port->paddr[5]); + +- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", + port->ladrf[0], port->ladrf[1], port->ladrf[2], + port->ladrf[3], port->ladrf[4], port->ladrf[5], + port->ladrf[6], port->ladrf[7]); + +- len += sprintf(buf+len, "flags IFF_RUNNING"); ++ seq_printf(seqf, "flags IFF_RUNNING"); + + if (port->flags & IFF_UP) { +- len += sprintf(buf+len, ",IFF_UP"); ++ seq_printf(seqf, ",IFF_UP"); + } + + if (port->flags & IFF_BROADCAST) { +- len += sprintf(buf+len, ",IFF_BROADCAST"); ++ seq_printf(seqf, ",IFF_BROADCAST"); + } + + if (port->flags & IFF_DEBUG) { +- len += sprintf(buf+len, ",IFF_DEBUG"); ++ seq_printf(seqf, ",IFF_DEBUG"); + } + + if (port->flags & IFF_PROMISC) { +- len += sprintf(buf+len, ",IFF_PROMISC"); ++ seq_printf(seqf, ",IFF_PROMISC"); + } + + if (port->flags & IFF_MULTICAST) { +- len += sprintf(buf+len, ",IFF_MULTICAST"); ++ seq_printf(seqf, ",IFF_MULTICAST"); + } + + if (port->flags & IFF_ALLMULTI) { +- len += sprintf(buf+len, ",IFF_ALLMULTI"); ++ seq_printf(seqf, ",IFF_ALLMULTI"); + } + +- len += sprintf(buf+len, " "); +- +- return len; ++ seq_printf(seqf, " "); + } + + +diff --git a/vmnet-only/hub.c b/vmnet-only/hub.c +index 47f04ac..8aafb95 100644 +--- a/vmnet-only/hub.c ++++ b/vmnet-only/hub.c +@@ -25,6 +25,7 @@ + #include <linux/sched.h> + #include <linux/slab.h> + #include <linux/poll.h> ++#include <linux/seq_file.h> + + #include <linux/netdevice.h> + #include <linux/etherdevice.h> +@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb); + static Bool VNetHubCycleDetect(VNetJack *this, int generation); + static void VNetHubPortsChanged(VNetJack *this); + static int VNetHubIsBridged(VNetJack *this); +-static int VNetHubProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + static VNetHub *vnetHub; + static DEFINE_SPINLOCK(vnetHubLock); +@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on + /* + *---------------------------------------------------------------------- + * ++ * VNetHubProcShow -- ++ * ++ * Callback for read operation on hub entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - not used ++{ ++ VNetJack *jack = (VNetJack*)data; ++ VNetHub *hub; ++ ++ if (!jack || !jack->private) { ++ return 0; ++ } ++ hub = (VNetHub*)jack->private; ++ ++ VNetPrintJack(jack, seqf); ++ ++ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx); ++ seq_printf(seqf, "\n"); ++ return 0; ++} ++ ++static int proc_hub_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetHubProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_hub_fops = { ++ .open = proc_hub_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetHubAlloc -- + * + * Allocate a jack on this hub. +@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry); ++ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack); + if (retval) { + if (retval == -ENXIO) { + jack->procEntry = NULL; +@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + hub->used[i] = FALSE; + return NULL; + } +- } else { +- jack->procEntry->read_proc = VNetHubProcRead; +- jack->procEntry->data = jack; + } + + /* +@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetHubProcRead -- +- * +- * Callback for read operation on hub entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetHubProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - not used +-{ +- VNetJack *jack = (VNetJack*)data; +- VNetHub *hub; +- int len = 0; +- +- if (!jack || !jack->private) { +- return len; +- } +- hub = (VNetHub*)jack->private; +- +- len += VNetPrintJack(jack, page+len); +- +- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +diff --git a/vmnet-only/netif.c b/vmnet-only/netif.c +index 65f3cb9..b20f56a 100644 +--- a/vmnet-only/netif.c ++++ b/vmnet-only/netif.c +@@ -63,8 +63,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev); + static struct net_device_stats *VNetNetifGetStats(struct net_device *dev); + static int VNetNetifSetMAC(struct net_device *dev, void *addr); + static void VNetNetifSetMulticast(struct net_device *dev); +-static int VNetNetIfProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + /* + *---------------------------------------------------------------------- +@@ -117,6 +115,53 @@ VNetNetIfSetup(struct net_device *dev) // IN: + + } + ++/* ++ *---------------------------------------------------------------------- ++ * ++ * VNetNetIfProcShow -- ++ * ++ * Callback for read operation on this netif entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data ++{ ++ VNetNetIF *netIf = data; ++ ++ if (!netIf) { ++ return 0; ++ } ++ ++ VNetPrintPort(&netIf->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", netIf->dev->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_netif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_netif_fops = { ++ .open = proc_netif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -201,9 +246,9 @@ VNetNetIf_Create(char *devName, // IN: + /* + * Make proc entry for this jack. + */ +- +- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG, +- &netIf->port.jack.procEntry); ++ ++ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG, ++ &netIf->port.jack.procEntry, &proc_netif_fops, netIf); + if (retval) { + if (retval == -ENXIO) { + netIf->port.jack.procEntry = NULL; +@@ -211,9 +256,6 @@ VNetNetIf_Create(char *devName, // IN: + netIf->port.jack.procEntry = NULL; + goto out; + } +- } else { +- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead; +- netIf->port.jack.procEntry->data = netIf; + } + + /* +@@ -591,45 +633,3 @@ VNetNetifGetStats(struct net_device *dev) // IN: + return &netIf->stats; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetNetIfProcRead -- +- * +- * Callback for read operation on this netif entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data +-{ +- VNetNetIF *netIf = (VNetNetIF*)data; +- int len = 0; +- +- if (!netIf) { +- return len; +- } +- +- len += VNetPrintPort(&netIf->port, page+len); +- +- len += sprintf(page+len, "dev %s ", netIf->devName); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +diff --git a/vmnet-only/procfs.c b/vmnet-only/procfs.c +index ca42ee2..fd7921e 100644 +--- a/vmnet-only/procfs.c ++++ b/vmnet-only/procfs.c +@@ -45,10 +45,6 @@ + + #if defined(CONFIG_PROC_FS) + +-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode, +- VNetProcEntry **ret); +-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent); +- + static VNetProcEntry *base = NULL; + + +@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL; + int + VNetProc_Init(void) + { +- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base); ++ base = proc_mkdir("vmnet", NULL); ++ if(IS_ERR(base)) { ++ base = NULL; ++ return PTR_ERR(base); ++ } ++ return 0; + } + + +@@ -94,14 +95,14 @@ VNetProc_Init(void) + void + VNetProc_Cleanup(void) + { +- VNetProcRemoveEntryInt(base, NULL); ++ proc_remove(base); + base = NULL; + } + + /* + *---------------------------------------------------------------------- + * +- * VNetProcMakeEntryInt -- ++ * VNetProc_MakeEntryOps -- + * + * Make an entry in the vnets proc file system. + * +@@ -116,72 +117,21 @@ VNetProc_Cleanup(void) + */ + + int +-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN: +- char *name, // IN: ++VNetProc_MakeEntryOps(char *name, // IN: + int mode, // IN: +- VNetProcEntry **ret) // OUT: ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data ++ ) // OUT: + { + VNetProcEntry *ent; +- ent = create_proc_entry(name, mode, parent); ++ ent = proc_create_data(name, mode, base, fops, data); + *ret = ent; + if (!ent) + return -ENOMEM; + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProcRemoveEntryInt -- +- * +- * Remove a previously installed proc entry. +- * +- * Results: +- * None. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-void +-VNetProcRemoveEntryInt(VNetProcEntry *node, +- VNetProcEntry *parent) +-{ +- if (node) { +- remove_proc_entry(node->name, parent); +- } +-} +- +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, // IN: +- int mode, // IN: +- VNetProcEntry **ret) // OUT: +-{ +- return VNetProcMakeEntryInt(base, name, mode, ret); +-} +- +- + /* + *---------------------------------------------------------------------- + * +@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN: + void + VNetProc_RemoveEntry(VNetProcEntry *node) + { +- VNetProcRemoveEntryInt(node, base); ++ if(node) ++ proc_remove(node); + } + + +@@ -253,31 +204,6 @@ VNetProc_Cleanup(void) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, +- int mode, +- VNetProcEntry **ret) +-{ +- return -ENXIO; +-} +- + + /* + *---------------------------------------------------------------------- +diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c +index 17b49e0..b01004a 100644 +--- a/vmnet-only/userif.c ++++ b/vmnet-only/userif.c +@@ -387,7 +387,7 @@ VNetUserIfReceive(VNetJack *this, // IN + /* + *---------------------------------------------------------------------- + * +- * VNetUserIfProcRead -- ++ * VNetUserIfProcShow -- + * + * Callback for read operation on this userif entry in vnets proc fs. + * +@@ -401,30 +401,23 @@ VNetUserIfReceive(VNetJack *this, // IN + */ + + static int +-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into +- // page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to +- // read ++VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into + void *data) // IN: client data - not used + { + VNetUserIF *userIf = (VNetUserIF*)data; +- int len = 0; + + if (!userIf) { +- return len; ++ return 0; + } + +- len += VNetPrintPort(&userIf->port, page+len); ++ VNetPrintPort(&userIf->port, seqf); + +- len += sprintf(page+len, "read %u written %u queued %u ", ++ seq_printf(seqf, "read %u written %u queued %u ", + userIf->stats.read, + userIf->stats.written, + userIf->stats.queued); + +- len += sprintf(page+len, ++ seq_printf(seqf, + "dropped.down %u dropped.mismatch %u " + "dropped.overflow %u dropped.largePacket %u", + userIf->stats.droppedDown, +@@ -432,13 +425,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into + userIf->stats.droppedOverflow, + userIf->stats.droppedLargePacket); + +- len += sprintf(page+len, "\n"); ++ seq_printf(seqf, "\n"); + +- *start = 0; +- *eof = 1; +- return len; ++ return 0; ++} ++ ++static int proc_userif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode)); + } + ++static const struct file_operations proc_userif_fops = { ++ .open = proc_userif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -1034,8 +1037,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG, +- &userIf->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG, ++ &userIf->port.jack.procEntry, &proc_userif_fops, userIf); + if (retval) { + if (retval == -ENXIO) { + userIf->port.jack.procEntry = NULL; +@@ -1043,9 +1046,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT + kfree(userIf); + return retval; + } +- } else { +- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead; +- userIf->port.jack.procEntry->data = userIf; + } + + /* +diff --git a/vmnet-only/vnetInt.h b/vmnet-only/vnetInt.h +index c615395..d90a1ef 100644 +--- a/vmnet-only/vnetInt.h ++++ b/vmnet-only/vnetInt.h +@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack); + + void VNetSend(const VNetJack *jack, struct sk_buff *skb); + +-int VNetProc_MakeEntry(char *name, int mode, +- VNetProcEntry **ret); ++int VNetProc_MakeEntryOps(char *name, int mode, ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data); + + void VNetProc_RemoveEntry(VNetProcEntry *node); + +-int VNetPrintJack(const VNetJack *jack, char *buf); ++void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf); + + int VNet_MakeMACAddress(VNetPort *port); + +@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr, + + Bool VNetCycleDetectIf(const char *name, int generation); + +-int VNetPrintPort(const VNetPort *port, char *buf); ++void VNetPrintPort(const VNetPort *port, struct seq_file *seqf); + + int VNetSnprintf(char *str, size_t size, const char *format, ...); + diff --git a/app-emulation/vmware-modules/files/264-3.2.0.patch b/app-emulation/vmware-modules/files/264-3.2.0.patch new file mode 100644 index 0000000..87f8914 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-3.2.0.patch @@ -0,0 +1,86 @@ +diff --git a/vmnet-only/filter.c b/vmnet-only/filter.c +index 491add5..74f7a3b 100644 +--- a/vmnet-only/filter.c ++++ b/vmnet-only/filter.c +@@ -40,6 +40,10 @@ + #include "vnetInt.h" + #include "vmnetInt.h" + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) ++#include <linux/export.h> ++#endif ++ + // VNet_FilterLogPacket.action for dropped packets + #define VNET_FILTER_ACTION_DRP (1) + #define VNET_FILTER_ACTION_DRP_SHORT (2) +diff --git a/vmnet-only/netif.c b/vmnet-only/netif.c +index 4bdb643..5b71339 100644 +--- a/vmnet-only/netif.c ++++ b/vmnet-only/netif.c +@@ -62,7 +62,9 @@ static int VNetNetifClose(struct net_device *dev); + static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev); + static struct net_device_stats *VNetNetifGetStats(struct net_device *dev); + static int VNetNetifSetMAC(struct net_device *dev, void *addr); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) + static void VNetNetifSetMulticast(struct net_device *dev); ++#endif + #if 0 + static void VNetNetifTxTimeout(struct net_device *dev); + #endif +@@ -131,7 +133,9 @@ VNetNetIfSetup(struct net_device *dev) // IN: + .ndo_stop = VNetNetifClose, + .ndo_get_stats = VNetNetifGetStats, + .ndo_set_mac_address = VNetNetifSetMAC, ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) + .ndo_set_multicast_list = VNetNetifSetMulticast, ++#endif + /* + * We cannot stuck... If someone will report problems under + * low memory conditions or some such, we should enable it. +@@ -152,7 +156,9 @@ VNetNetIfSetup(struct net_device *dev) // IN: + dev->stop = VNetNetifClose; + dev->get_stats = VNetNetifGetStats; + dev->set_mac_address = VNetNetifSetMAC; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) + dev->set_multicast_list = VNetNetifSetMulticast; ++#endif + /* + * We cannot stuck... If someone will report problems under + * low memory conditions or some such, we should enable it. +@@ -612,11 +618,12 @@ VNetNetifSetMAC(struct net_device *dev, // IN: + *---------------------------------------------------------------------- + */ + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0) + void + VNetNetifSetMulticast(struct net_device *dev) // IN: unused + { + } +- ++#endif + + /* + *---------------------------------------------------------------------- +diff --git a/vmnet-only/userif.c b/vmnet-only/userif.c +index 541187b..77e0089 100644 +--- a/vmnet-only/userif.c ++++ b/vmnet-only/userif.c +@@ -517,10 +517,18 @@ VNetCsumCopyDatagram(const struct sk_buff *skb, // IN: skb to copy + unsigned int tmpCsum; + const void *vaddr; + ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) ++ vaddr = kmap(skb_frag_page(frag)); ++#else + vaddr = kmap(frag->page); ++#endif + tmpCsum = csum_and_copy_to_user(vaddr + frag->page_offset, + curr, frag->size, 0, &err); ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 2, 0) ++ kunmap(skb_frag_page(frag)); ++#else + kunmap(frag->page); ++#endif + if (err) { + return err; + } diff --git a/app-emulation/vmware-modules/files/264-3.8.0.patch b/app-emulation/vmware-modules/files/264-3.8.0.patch new file mode 100644 index 0000000..e1a97d8 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-3.8.0.patch @@ -0,0 +1,33 @@ +[patch] Vmware 9 on Linux Kernel 3.8rc4 and later +source: http://communities.vmware.com/thread/432897 and bug 458228 + +diff -rupN a/work/vmci-only/linux/driver.c b/work/vmci-only/linux/driver.c +--- a/work/vmci-only/linux/driver.c 2012-10-31 23:28:45.000000000 -0400 ++++ b/work/vmci-only/linux/driver.c 2013-03-18 15:23:52.488752357 -0400 +@@ -124,7 +124,7 @@ static struct pci_driver vmci_driver = { + .name = "vmci", + .id_table = vmci_ids, + .probe = vmci_probe_device, +- .remove = __devexit_p(vmci_remove_device), ++ .remove = vmci_remove_device, + }; + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) +@@ -1741,7 +1741,7 @@ vmci_enable_msix(struct pci_dev *pdev) / + *----------------------------------------------------------------------------- + */ + +-static int __devinit ++static int + vmci_probe_device(struct pci_dev *pdev, // IN: vmci PCI device + const struct pci_device_id *id) // IN: matching device ID + { +@@ -1969,7 +1969,7 @@ vmci_probe_device(struct pci_dev *pdev, + *----------------------------------------------------------------------------- + */ + +-static void __devexit ++static void + vmci_remove_device(struct pci_dev* pdev) + { + struct vmci_device *dev = pci_get_drvdata(pdev); diff --git a/app-emulation/vmware-modules/files/264-apic.patch b/app-emulation/vmware-modules/files/264-apic.patch new file mode 100644 index 0000000..66cd459 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-apic.patch @@ -0,0 +1,12 @@ +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index f1f4b10..c43242f 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -55,6 +55,7 @@ + #include <linux/kthread.h> + #include <linux/wait.h> + ++#include <asm/apic.h> + + #include "vmware.h" + #include "x86apic.h" diff --git a/app-emulation/vmware-modules/files/264-d-make-root.patch b/app-emulation/vmware-modules/files/264-d-make-root.patch new file mode 100644 index 0000000..a02e4ce --- /dev/null +++ b/app-emulation/vmware-modules/files/264-d-make-root.patch @@ -0,0 +1,16 @@ +diff --git a/vmblock-only/linux/filesystem.c b/vmblock-only/linux/filesystem.c +index b7c535e..a36a01e 100644 +--- a/vmblock-only/linux/filesystem.c ++++ b/vmblock-only/linux/filesystem.c +@@ -525,7 +525,11 @@ FsOpReadSuper(struct super_block *sb, // OUT: Superblock object + return -EINVAL; + } + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 4, 0) + rootDentry = d_alloc_root(rootInode); ++#else ++ rootDentry = d_make_root(rootInode); ++#endif + if (!rootDentry) { + iput(rootInode); + return -ENOMEM; diff --git a/app-emulation/vmware-modules/files/264-jobserver.patch b/app-emulation/vmware-modules/files/264-jobserver.patch new file mode 100644 index 0000000..59a6ccc --- /dev/null +++ b/app-emulation/vmware-modules/files/264-jobserver.patch @@ -0,0 +1,75 @@ +diff -ru a/work/vmblock-only/Makefile b/work/vmblock-only/Makefile +--- a/work/vmblock-only/Makefile 2011-01-22 08:59:15.907152002 -0500 ++++ b/work/vmblock-only/Makefile 2011-01-22 09:13:55.894938002 -0500 +@@ -123,9 +123,9 @@ + postbuild:: ; + + $(DRIVER_KO): prebuild +- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) modules +- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild + endif + +diff -ru a/work/vmci-only/Makefile b/work/vmci-only/Makefile +--- a/work/vmci-only/Makefile 2011-01-22 08:59:15.907152002 -0500 ++++ b/work/vmci-only/Makefile 2011-01-22 09:13:55.898936002 -0500 +@@ -123,9 +123,9 @@ + postbuild:: ; + + $(DRIVER_KO): prebuild +- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) modules +- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild + endif + +diff -ru a/work/vmmon-only/Makefile b/work/vmmon-only/Makefile +--- a/work/vmmon-only/Makefile 2011-01-22 08:59:15.907152002 -0500 ++++ b/work/vmmon-only/Makefile 2011-01-22 09:13:55.894938002 -0500 +@@ -123,9 +123,9 @@ + postbuild:: ; + + $(DRIVER_KO): prebuild +- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) modules +- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild + endif + +diff -ru a/work/vmnet-only/Makefile b/work/vmnet-only/Makefile +--- a/work/vmnet-only/Makefile 2011-01-22 08:59:15.911150002 -0500 ++++ b/work/vmnet-only/Makefile 2011-01-22 09:13:55.898936002 -0500 +@@ -123,9 +123,9 @@ + postbuild:: ; + + $(DRIVER_KO): prebuild +- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) modules +- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild + endif + +diff -ru a/work/vsock-only/Makefile b/work/vsock-only/Makefile +--- a/work/vsock-only/Makefile 2011-01-22 08:59:15.911150002 -0500 ++++ b/work/vsock-only/Makefile 2011-01-22 09:13:55.894938002 -0500 +@@ -123,9 +123,9 @@ + postbuild:: ; + + $(DRIVER_KO): prebuild +- make -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $(BUILD_DIR) SUBDIRS=$$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) modules +- make -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ ++ $(MAKE) -C $$PWD SRCROOT=$$PWD/$(SRCROOT) \ + MODULEBUILDDIR=$(MODULEBUILDDIR) postbuild + endif + diff --git a/app-emulation/vmware-modules/files/264-makefile-include.patch b/app-emulation/vmware-modules/files/264-makefile-include.patch new file mode 100644 index 0000000..39c3000 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-makefile-include.patch @@ -0,0 +1,65 @@ +diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel +index ab7a727..e3ec9d2 100644 +--- a/vmblock-only/Makefile.kernel ++++ b/vmblock-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE += -I$(SRCROOT)/include + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, ) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, ) +diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel +index ba343ee..861ea83 100644 +--- a/vmci-only/Makefile.kernel ++++ b/vmci-only/Makefile.kernel +@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI + + INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + obj-m += $(DRIVER).o + +diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel +index 8770d1d..c4746c3 100644 +--- a/vmmon-only/Makefile.kernel ++++ b/vmmon-only/Makefile.kernel +@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE + INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \ + -I$(SRCROOT)/vmcore + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, ) + +diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel +index d1e3133..665d428 100644 +--- a/vmnet-only/Makefile.kernel ++++ b/vmnet-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE := -I$(SRCROOT) + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, ) +diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel +index b4629ee..264b8cb 100644 +--- a/vsock-only/Makefile.kernel ++++ b/vsock-only/Makefile.kernel +@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include + INCLUDE += -I$(SRCROOT)/linux + INCLUDE += -I$(SRCROOT)/common + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, ) + + diff --git a/app-emulation/vmware-modules/files/264-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/264-makefile-kernel-dir.patch new file mode 100644 index 0000000..d4bd6d1 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-makefile-kernel-dir.patch @@ -0,0 +1,80 @@ +diff --git a/work/vmblock-only/Makefile b/work/vmblock-only/Makefile +index 0bd0e74..27c3ede 100644 +--- a/work/vmblock-only/Makefile ++++ b/work/vmblock-only/Makefile +@@ -46,9 +46,9 @@ endif + VM_UNAME = $(shell uname -r) + + # Header directory for the running kernel +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmblock + PRODUCT := tools +diff --git a/work/vmci-only/Makefile b/work/vmci-only/Makefile +index 7babb8a..fbc5878 100644 +--- a/work/vmci-only/Makefile ++++ b/work/vmci-only/Makefile +@@ -46,9 +46,9 @@ endif + VM_UNAME = $(shell uname -r) + + # Header directory for the running kernel +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmci + PRODUCT := @@PRODUCT@@ +diff --git a/work/vmmon-only/Makefile b/work/vmmon-only/Makefile +index 4b4eb3e..1bb35ef 100644 +--- a/work/vmmon-only/Makefile ++++ b/work/vmmon-only/Makefile +@@ -46,9 +46,9 @@ endif + VM_UNAME = $(shell uname -r) + + # Header directory for the running kernel +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmmon + PRODUCT := @@PRODUCT@@ +diff --git a/work/vmnet-only/Makefile b/work/vmnet-only/Makefile +index 06856e7..fd53bf8 100644 +--- a/work/vmnet-only/Makefile ++++ b/work/vmnet-only/Makefile +@@ -46,9 +46,9 @@ endif + VM_UNAME = $(shell uname -r) + + # Header directory for the running kernel +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmnet + PRODUCT := @@PRODUCT@@ +diff --git a/work/vsock-only/Makefile b/work/vsock-only/Makefile +index e02adb0..210e502 100644 +--- a/work/vsock-only/Makefile ++++ b/work/vsock-only/Makefile +@@ -46,9 +46,9 @@ endif + VM_UNAME = $(shell uname -r) + + # Header directory for the running kernel +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vsock + PRODUCT := ws diff --git a/app-emulation/vmware-modules/files/264-netdevice.patch b/app-emulation/vmware-modules/files/264-netdevice.patch new file mode 100644 index 0000000..35231a3 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-netdevice.patch @@ -0,0 +1,24 @@ +diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h +index 7a56304..9ff4548 100644 +--- a/vmnet-only/compat_netdevice.h ++++ b/vmnet-only/compat_netdevice.h +@@ -47,6 +47,19 @@ + # define net_device device + #endif + ++/* it looks like these have been removed from the kernel 3.1 ++ * probably because the "transition" is considered complete. ++ * so to keep this source compatible we just redefine them like they were ++ * previously ++ */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) ++#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev ++ functions are available. */ ++#define HAVE_FREE_NETDEV /* free_netdev() */ ++#define HAVE_NETDEV_PRIV /* netdev_priv() */ ++#define HAVE_NETIF_QUEUE ++#define HAVE_NET_DEVICE_OPS ++#endif + + /* + * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting diff --git a/app-emulation/vmware-modules/files/264-newline.patch b/app-emulation/vmware-modules/files/264-newline.patch new file mode 100644 index 0000000..b406d81 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-newline.patch @@ -0,0 +1,11 @@ +--- vmnet-only/userif.c 2012-06-09 04:26:32.000000000 -0400 ++++ vmnet-only.new/userif.c 2012-10-22 12:14:34.275953107 -0400 +@@ -956,7 +956,7 @@ VNetUserIfSetUplinkState(VNetPort *port, + "failed (%d)\n", userIf->port.id, retval)); + } + +- LOG(0, (KERN_NOTICE "userif-%d: sent link %s event.", ++ LOG(0, (KERN_NOTICE "userif-%d: sent link %s event.\n", + userIf->port.id, linkUp?"up":"down")); + + return retval; diff --git a/app-emulation/vmware-modules/files/264-putname.patch b/app-emulation/vmware-modules/files/264-putname.patch new file mode 100644 index 0000000..6e76130 --- /dev/null +++ b/app-emulation/vmware-modules/files/264-putname.patch @@ -0,0 +1,13 @@ +diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c +index 79716bd..2dd83fe 100644 +--- a/vmblock-only/linux/control.c ++++ b/vmblock-only/linux/control.c +@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name + + retval = i < 0 ? -EINVAL : blockOp(name, blocker); + +- putname(name); ++ __putname(name); + + return retval; + } diff --git a/app-emulation/vmware-modules/files/271-3.10.0.patch b/app-emulation/vmware-modules/files/271-3.10.0.patch new file mode 100644 index 0000000..7795b18 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-3.10.0.patch @@ -0,0 +1,809 @@ +--- a/vmnet-only/bridge.c ++++ b/vmnet-only/bridge.c +@@ -105,8 +105,6 @@ static Bool VNetBridgeCycleDetect(VNetJack *this, int generation); + static Bool VNetBridgeIsDeviceWireless(struct net_device *dev); + static void VNetBridgePortsChanged(VNetJack *this); + static int VNetBridgeIsBridged(VNetJack *this); +-static int VNetBridgeProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + static void VNetBridgeComputeHeaderPosIPv6(struct sk_buff *skb); + static PacketStatus VNetCallSMACFunc(struct SMACState *state, + struct sk_buff **skb, void *startOfData, +@@ -225,6 +223,53 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge + /* + *---------------------------------------------------------------------- + * ++ * VNetBridgeProcShow -- ++ * ++ * Callback for read operation on this bridge entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetBridgeProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - pointer to bridge ++{ ++ VNetBridge *bridge = (VNetBridge*)data; ++ ++ if (!bridge) { ++ return 0; ++ } ++ ++ VNetPrintPort(&bridge->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", bridge->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_bridge_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetBridgeProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_bridge_fops = { ++ .open = proc_bridge_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetBridge_Create -- + * + * Creates a bridge. Allocates struct, allocates internal device, +@@ -319,17 +364,14 @@ VNetBridge_Create(const char *devName, // IN: name of device (e.g., "eth0") + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(bridge->port.jack.name, S_IFREG, +- &bridge->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(bridge->port.jack.name, S_IFREG, ++ &bridge->port.jack.procEntry, &proc_bridge_fops, bridge); + if (retval) { + if (retval == -ENXIO) { + bridge->port.jack.procEntry = NULL; + } else { + goto out; + } +- } else { +- bridge->port.jack.procEntry->read_proc = VNetBridgeProcRead; +- bridge->port.jack.procEntry->data = bridge; + } + + /* +@@ -1719,45 +1761,3 @@ VNetBridgeReceiveFromDev(struct sk_buff *skb, // IN: packet to receive + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetBridgeProcRead -- +- * +- * Callback for read operation on this bridge entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetBridgeProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - pointer to bridge +-{ +- VNetBridge *bridge = (VNetBridge*)data; +- int len = 0; +- +- if (!bridge) { +- return len; +- } +- +- len += VNetPrintPort(&bridge->port, page+len); +- +- len += sprintf(page+len, "dev %s ", bridge->name); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -1785,21 +1785,17 @@ VNetSetMACUnique(VNetPort *port, // IN: + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintJack(const VNetJack *jack, // IN: jack +- char *buf) // OUT: info about jack ++ struct seq_file *seqf) // OUT: info about jack + { +- int len = 0; +- + read_lock(&vnetPeerLock); + if (!jack->peer) { +- len += sprintf(buf+len, "connected not "); ++ seq_printf(seqf, "connected not "); + } else { +- len += sprintf(buf+len, "connected %s ", jack->peer->name); ++ seq_printf(seqf, "connected %s ", jack->peer->name); + } + read_unlock(&vnetPeerLock); +- +- return len; + } + + +@@ -1819,52 +1815,48 @@ VNetPrintJack(const VNetJack *jack, // IN: jack + *---------------------------------------------------------------------- + */ + +-int ++void + VNetPrintPort(const VNetPort *port, // IN: port +- char *buf) // OUT: info about port ++ struct seq_file *seqf) // OUT: info about port + { +- int len = 0; ++ VNetPrintJack(&port->jack, seqf); + +- len += VNetPrintJack(&port->jack, buf+len); +- +- len += sprintf(buf+len, "mac %02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "mac %02x:%02x:%02x:%02x:%02x:%02x ", + port->paddr[0], port->paddr[1], port->paddr[2], + port->paddr[3], port->paddr[4], port->paddr[5]); + +- len += sprintf(buf+len, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", ++ seq_printf(seqf, "ladrf %02x:%02x:%02x:%02x:%02x:%02x:%02x:%02x ", + port->ladrf[0], port->ladrf[1], port->ladrf[2], + port->ladrf[3], port->ladrf[4], port->ladrf[5], + port->ladrf[6], port->ladrf[7]); + +- len += sprintf(buf+len, "flags IFF_RUNNING"); ++ seq_printf(seqf, "flags IFF_RUNNING"); + + if (port->flags & IFF_UP) { +- len += sprintf(buf+len, ",IFF_UP"); ++ seq_printf(seqf, ",IFF_UP"); + } + + if (port->flags & IFF_BROADCAST) { +- len += sprintf(buf+len, ",IFF_BROADCAST"); ++ seq_printf(seqf, ",IFF_BROADCAST"); + } + + if (port->flags & IFF_DEBUG) { +- len += sprintf(buf+len, ",IFF_DEBUG"); ++ seq_printf(seqf, ",IFF_DEBUG"); + } + + if (port->flags & IFF_PROMISC) { +- len += sprintf(buf+len, ",IFF_PROMISC"); ++ seq_printf(seqf, ",IFF_PROMISC"); + } + + if (port->flags & IFF_MULTICAST) { +- len += sprintf(buf+len, ",IFF_MULTICAST"); ++ seq_printf(seqf, ",IFF_MULTICAST"); + } + + if (port->flags & IFF_ALLMULTI) { +- len += sprintf(buf+len, ",IFF_ALLMULTI"); ++ seq_printf(seqf, ",IFF_ALLMULTI"); + } + +- len += sprintf(buf+len, " "); +- +- return len; ++ seq_printf(seqf, " "); + } + + +--- a/vmnet-only/hub.c ++++ b/vmnet-only/hub.c +@@ -25,6 +25,7 @@ + #include <linux/sched.h> + #include <linux/slab.h> + #include <linux/poll.h> ++#include <linux/seq_file.h> + + #include <linux/netdevice.h> + #include <linux/etherdevice.h> +@@ -71,8 +72,6 @@ static void VNetHubReceive(VNetJack *this, struct sk_buff *skb); + static Bool VNetHubCycleDetect(VNetJack *this, int generation); + static void VNetHubPortsChanged(VNetJack *this); + static int VNetHubIsBridged(VNetJack *this); +-static int VNetHubProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + static VNetHub *vnetHub; + static DEFINE_SPINLOCK(vnetHubLock); +@@ -241,6 +240,53 @@ VNetHub_AllocPvn(uint8 id[]) // IN: the PVN ID to alloc on + /* + *---------------------------------------------------------------------- + * ++ * VNetHubProcShow -- ++ * ++ * Callback for read operation on hub entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetHubProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data - not used ++{ ++ VNetJack *jack = (VNetJack*)data; ++ VNetHub *hub; ++ ++ if (!jack || !jack->private) { ++ return 0; ++ } ++ hub = (VNetHub*)jack->private; ++ ++ VNetPrintJack(jack, seqf); ++ ++ seq_printf(seqf, "tx %u ", hub->stats[jack->index].tx); ++ seq_printf(seqf, "\n"); ++ return 0; ++} ++ ++static int proc_hub_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetHubProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_hub_fops = { ++ .open = proc_hub_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ ++/* ++ *---------------------------------------------------------------------- ++ * + * VNetHubAlloc -- + * + * Allocate a jack on this hub. +@@ -354,7 +400,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(jack->name, S_IFREG, &jack->procEntry); ++ retval = VNetProc_MakeEntryOps(jack->name, S_IFREG, &jack->procEntry, &proc_hub_fops, jack); + if (retval) { + if (retval == -ENXIO) { + jack->procEntry = NULL; +@@ -362,9 +408,6 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE for PVN, FALSE for vnet + hub->used[i] = FALSE; + return NULL; + } +- } else { +- jack->procEntry->read_proc = VNetHubProcRead; +- jack->procEntry->data = jack; + } + + /* +@@ -686,46 +729,3 @@ VNetHubIsBridged(VNetJack *this) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetHubProcRead -- +- * +- * Callback for read operation on hub entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetHubProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data - not used +-{ +- VNetJack *jack = (VNetJack*)data; +- VNetHub *hub; +- int len = 0; +- +- if (!jack || !jack->private) { +- return len; +- } +- hub = (VNetHub*)jack->private; +- +- len += VNetPrintJack(jack, page+len); +- +- len += sprintf(page+len, "tx %u ", hub->stats[jack->index].tx); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/netif.c ++++ b/vmnet-only/netif.c +@@ -62,8 +62,6 @@ static int VNetNetifStartXmit(struct sk_buff *skb, struct net_device *dev); + static struct net_device_stats *VNetNetifGetStats(struct net_device *dev); + static int VNetNetifSetMAC(struct net_device *dev, void *addr); + static void VNetNetifSetMulticast(struct net_device *dev); +-static int VNetNetIfProcRead(char *page, char **start, off_t off, +- int count, int *eof, void *data); + + /* + *---------------------------------------------------------------------- +@@ -116,6 +114,53 @@ VNetNetIfSetup(struct net_device *dev) // IN: + + } + ++/* ++ *---------------------------------------------------------------------- ++ * ++ * VNetNetIfProcShow -- ++ * ++ * Callback for read operation on this netif entry in vnets proc fs. ++ * ++ * Results: ++ * Length of read operation. ++ * ++ * Side effects: ++ * None. ++ * ++ *---------------------------------------------------------------------- ++ */ ++ ++int ++VNetNetIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into ++ void *data) // IN: client data ++{ ++ VNetNetIF *netIf = data; ++ ++ if (!netIf) { ++ return 0; ++ } ++ ++ VNetPrintPort(&netIf->port, seqf); ++ ++ seq_printf(seqf, "dev %s ", netIf->dev->name); ++ ++ seq_printf(seqf, "\n"); ++ ++ return 0; ++} ++ ++static int proc_netif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetNetIfProcShow, PDE_DATA(inode)); ++} ++ ++static const struct file_operations proc_netif_fops = { ++ .open = proc_netif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -180,16 +225,13 @@ VNetNetIf_Create(char *devName, // IN: + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(netIf->port.jack.name, S_IFREG, +- &netIf->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(netIf->port.jack.name, S_IFREG, ++ &netIf->port.jack.procEntry, &proc_netif_fops, netIf); + if (retval) { + netIf->port.jack.procEntry = NULL; + if (retval != -ENXIO) { + goto outFreeDev; + } +- } else { +- netIf->port.jack.procEntry->read_proc = VNetNetIfProcRead; +- netIf->port.jack.procEntry->data = netIf; + } + + /* +@@ -553,45 +595,3 @@ VNetNetifGetStats(struct net_device *dev) // IN: + return &netIf->stats; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetNetIfProcRead -- +- * +- * Callback for read operation on this netif entry in vnets proc fs. +- * +- * Results: +- * Length of read operation. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetNetIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into page +- off_t off, // IN: (unused) offset of read into the file +- int count, // IN: (unused) maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to read +- void *data) // IN: client data +-{ +- VNetNetIF *netIf = data; +- int len = 0; +- +- if (!netIf) { +- return len; +- } +- +- len += VNetPrintPort(&netIf->port, page+len); +- +- len += sprintf(page+len, "dev %s ", netIf->dev->name); +- +- len += sprintf(page+len, "\n"); +- +- *start = 0; +- *eof = 1; +- return len; +-} +--- a/vmnet-only/procfs.c ++++ b/vmnet-only/procfs.c +@@ -45,10 +45,6 @@ + + #if defined(CONFIG_PROC_FS) + +-static int VNetProcMakeEntryInt(VNetProcEntry *parent, char *name, int mode, +- VNetProcEntry **ret); +-static void VNetProcRemoveEntryInt(VNetProcEntry *node, VNetProcEntry *parent); +- + static VNetProcEntry *base = NULL; + + +@@ -71,7 +67,12 @@ static VNetProcEntry *base = NULL; + int + VNetProc_Init(void) + { +- return VNetProcMakeEntryInt(NULL, "vmnet", S_IFDIR, &base); ++ base = proc_mkdir("vmnet", NULL); ++ if(IS_ERR(base)) { ++ base = NULL; ++ return PTR_ERR(base); ++ } ++ return 0; + } + + +@@ -94,14 +95,14 @@ VNetProc_Init(void) + void + VNetProc_Cleanup(void) + { +- VNetProcRemoveEntryInt(base, NULL); ++ proc_remove(base); + base = NULL; + } + + /* + *---------------------------------------------------------------------- + * +- * VNetProcMakeEntryInt -- ++ * VNetProc_MakeEntryOps -- + * + * Make an entry in the vnets proc file system. + * +@@ -116,72 +117,21 @@ VNetProc_Cleanup(void) + */ + + int +-VNetProcMakeEntryInt(VNetProcEntry *parent, // IN: +- char *name, // IN: ++VNetProc_MakeEntryOps(char *name, // IN: + int mode, // IN: +- VNetProcEntry **ret) // OUT: ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data ++ ) // OUT: + { + VNetProcEntry *ent; +- ent = create_proc_entry(name, mode, parent); ++ ent = proc_create_data(name, mode, base, fops, data); + *ret = ent; + if (!ent) + return -ENOMEM; + return 0; + } + +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProcRemoveEntryInt -- +- * +- * Remove a previously installed proc entry. +- * +- * Results: +- * None. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-void +-VNetProcRemoveEntryInt(VNetProcEntry *node, +- VNetProcEntry *parent) +-{ +- if (node) { +- remove_proc_entry(node->name, parent); +- } +-} +- +- +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, // IN: +- int mode, // IN: +- VNetProcEntry **ret) // OUT: +-{ +- return VNetProcMakeEntryInt(base, name, mode, ret); +-} +- +- + /* + *---------------------------------------------------------------------- + * +@@ -201,7 +151,8 @@ VNetProc_MakeEntry(char *name, // IN: + void + VNetProc_RemoveEntry(VNetProcEntry *node) + { +- VNetProcRemoveEntryInt(node, base); ++ if(node) ++ proc_remove(node); + } + + +@@ -253,31 +204,6 @@ VNetProc_Cleanup(void) + } + + +-/* +- *---------------------------------------------------------------------- +- * +- * VNetProc_MakeEntry -- +- * +- * Make an entry in the vnets proc file system. +- * +- * Results: +- * errno. If errno is 0 and ret is non NULL then ret is filled +- * in with the resulting proc entry. +- * +- * Side effects: +- * None. +- * +- *---------------------------------------------------------------------- +- */ +- +-int +-VNetProc_MakeEntry(char *name, +- int mode, +- VNetProcEntry **ret) +-{ +- return -ENXIO; +-} +- + + /* + *---------------------------------------------------------------------- +--- a/vmnet-only/userif.c ++++ b/vmnet-only/userif.c +@@ -389,7 +389,7 @@ VNetUserIfReceive(VNetJack *this, // IN + /* + *---------------------------------------------------------------------- + * +- * VNetUserIfProcRead -- ++ * VNetUserIfProcShow -- + * + * Callback for read operation on this userif entry in vnets proc fs. + * +@@ -403,30 +403,23 @@ VNetUserIfReceive(VNetJack *this, // IN + */ + + static int +-VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into +- char **start, // OUT: 0 if file < 4k, else offset into +- // page +- off_t off, // IN: offset of read into the file +- int count, // IN: maximum number of bytes to read +- int *eof, // OUT: TRUE if there is nothing more to +- // read ++VNetUserIfProcShow(struct seq_file *seqf, // IN/OUT: buffer to write into + void *data) // IN: client data - not used + { + VNetUserIF *userIf = (VNetUserIF*)data; +- int len = 0; + + if (!userIf) { +- return len; ++ return 0; + } + +- len += VNetPrintPort(&userIf->port, page+len); ++ VNetPrintPort(&userIf->port, seqf); + +- len += sprintf(page+len, "read %u written %u queued %u ", ++ seq_printf(seqf, "read %u written %u queued %u ", + userIf->stats.read, + userIf->stats.written, + userIf->stats.queued); + +- len += sprintf(page+len, ++ seq_printf(seqf, + "dropped.down %u dropped.mismatch %u " + "dropped.overflow %u dropped.largePacket %u", + userIf->stats.droppedDown, +@@ -434,13 +427,23 @@ VNetUserIfProcRead(char *page, // IN/OUT: buffer to write into + userIf->stats.droppedOverflow, + userIf->stats.droppedLargePacket); + +- len += sprintf(page+len, "\n"); ++ seq_printf(seqf, "\n"); + +- *start = 0; +- *eof = 1; +- return len; ++ return 0; ++} ++ ++static int proc_userif_open(struct inode *inode, struct file *file) ++{ ++ return single_open(file, VNetUserIfProcShow, PDE_DATA(inode)); + } + ++static const struct file_operations proc_userif_fops = { ++ .open = proc_userif_open, ++ .read = seq_read, ++ .llseek = seq_lseek, ++ .release = seq_release, ++}; ++ + + /* + *---------------------------------------------------------------------- +@@ -1036,8 +1039,8 @@ VNetUserIf_Create(VNetPort **ret) // OUT + * Make proc entry for this jack. + */ + +- retval = VNetProc_MakeEntry(userIf->port.jack.name, S_IFREG, +- &userIf->port.jack.procEntry); ++ retval = VNetProc_MakeEntryOps(userIf->port.jack.name, S_IFREG, ++ &userIf->port.jack.procEntry, &proc_userif_fops, userIf); + if (retval) { + if (retval == -ENXIO) { + userIf->port.jack.procEntry = NULL; +@@ -1045,9 +1048,6 @@ VNetUserIf_Create(VNetPort **ret) // OUT + kfree(userIf); + return retval; + } +- } else { +- userIf->port.jack.procEntry->read_proc = VNetUserIfProcRead; +- userIf->port.jack.procEntry->data = userIf; + } + + /* +--- a/vmnet-only/vnetInt.h ++++ b/vmnet-only/vnetInt.h +@@ -171,12 +171,14 @@ VNetJack *VNetDisconnect(VNetJack *jack); + + void VNetSend(const VNetJack *jack, struct sk_buff *skb); + +-int VNetProc_MakeEntry(char *name, int mode, +- VNetProcEntry **ret); ++int VNetProc_MakeEntryOps(char *name, int mode, ++ VNetProcEntry **ret, ++ const struct file_operations *fops, ++ void *data); + + void VNetProc_RemoveEntry(VNetProcEntry *node); + +-int VNetPrintJack(const VNetJack *jack, char *buf); ++void VNetPrintJack(const VNetJack *jack, struct seq_file *seqf); + + int VNet_MakeMACAddress(VNetPort *port); + +@@ -196,7 +198,7 @@ Bool VNetPacketMatch(const uint8 *destAddr, const uint8 *ifAddr, + + Bool VNetCycleDetectIf(const char *name, int generation); + +-int VNetPrintPort(const VNetPort *port, char *buf); ++void VNetPrintPort(const VNetPort *port, struct seq_file *seqf); + + int VNetSnprintf(char *str, size_t size, const char *format, ...); + +-- +--- a/vmblock-only/linux/control.c 2013-05-21 19:21:19.165750556 +0200 ++++ b/vmblock-only/linux/control.c 2013-05-21 19:22:18.363747723 +0200 +@@ -208,9 +208,10 @@ + VMBlockSetProcEntryOwner(controlProcMountpoint); + + /* Create /proc/fs/vmblock/dev */ +- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, +- VMBLOCK_CONTROL_MODE, +- controlProcDirEntry); ++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, ++ VMBLOCK_CONTROL_MODE, ++ controlProcDirEntry, ++ &ControlFileOps); + if (!controlProcEntry) { + Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n"); + remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry); +@@ -218,7 +219,6 @@ + return -EINVAL; + } + +- controlProcEntry->proc_fops = &ControlFileOps; + return 0; + } + diff --git a/app-emulation/vmware-modules/files/271-apic.patch b/app-emulation/vmware-modules/files/271-apic.patch new file mode 100644 index 0000000..66cd459 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-apic.patch @@ -0,0 +1,12 @@ +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index f1f4b10..c43242f 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -55,6 +55,7 @@ + #include <linux/kthread.h> + #include <linux/wait.h> + ++#include <asm/apic.h> + + #include "vmware.h" + #include "x86apic.h" diff --git a/app-emulation/vmware-modules/files/271-makefile-include.patch b/app-emulation/vmware-modules/files/271-makefile-include.patch new file mode 100644 index 0000000..39c3000 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-makefile-include.patch @@ -0,0 +1,65 @@ +diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel +index ab7a727..e3ec9d2 100644 +--- a/vmblock-only/Makefile.kernel ++++ b/vmblock-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE += -I$(SRCROOT)/include + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, ) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, ) +diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel +index ba343ee..861ea83 100644 +--- a/vmci-only/Makefile.kernel ++++ b/vmci-only/Makefile.kernel +@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI + + INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + obj-m += $(DRIVER).o + +diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel +index 8770d1d..c4746c3 100644 +--- a/vmmon-only/Makefile.kernel ++++ b/vmmon-only/Makefile.kernel +@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE + INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \ + -I$(SRCROOT)/vmcore + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, ) + +diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel +index d1e3133..665d428 100644 +--- a/vmnet-only/Makefile.kernel ++++ b/vmnet-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE := -I$(SRCROOT) + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, ) +diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel +index b4629ee..264b8cb 100644 +--- a/vsock-only/Makefile.kernel ++++ b/vsock-only/Makefile.kernel +@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include + INCLUDE += -I$(SRCROOT)/linux + INCLUDE += -I$(SRCROOT)/common + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, ) + + diff --git a/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch new file mode 100644 index 0000000..1a647a3 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch @@ -0,0 +1,85 @@ +diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile +index 2b81323..746c8b8 100644 +--- a/vmblock-only/Makefile ++++ b/vmblock-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmblock + PRODUCT := ws +diff --git a/vmci-only/Makefile b/vmci-only/Makefile +index 8e9c5be..6ec828b 100644 +--- a/vmci-only/Makefile ++++ b/vmci-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmci + PRODUCT := ws +diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile +index 5bd867b..91a83d4 100644 +--- a/vmmon-only/Makefile ++++ b/vmmon-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmmon + PRODUCT := @@PRODUCT@@ +diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile +index d4eb73c..c7c6d38 100644 +--- a/vmnet-only/Makefile ++++ b/vmnet-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmnet + PRODUCT := @@PRODUCT@@ +diff --git a/vsock-only/Makefile b/vsock-only/Makefile +index 93dd61d..9765696 100644 +--- a/vsock-only/Makefile ++++ b/vsock-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vsock + PRODUCT := ws diff --git a/app-emulation/vmware-modules/files/271-netdevice.patch b/app-emulation/vmware-modules/files/271-netdevice.patch new file mode 100644 index 0000000..35231a3 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-netdevice.patch @@ -0,0 +1,24 @@ +diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h +index 7a56304..9ff4548 100644 +--- a/vmnet-only/compat_netdevice.h ++++ b/vmnet-only/compat_netdevice.h +@@ -47,6 +47,19 @@ + # define net_device device + #endif + ++/* it looks like these have been removed from the kernel 3.1 ++ * probably because the "transition" is considered complete. ++ * so to keep this source compatible we just redefine them like they were ++ * previously ++ */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) ++#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev ++ functions are available. */ ++#define HAVE_FREE_NETDEV /* free_netdev() */ ++#define HAVE_NETDEV_PRIV /* netdev_priv() */ ++#define HAVE_NETIF_QUEUE ++#define HAVE_NET_DEVICE_OPS ++#endif + + /* + * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting diff --git a/app-emulation/vmware-modules/files/271-putname.patch b/app-emulation/vmware-modules/files/271-putname.patch new file mode 100644 index 0000000..6e76130 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-putname.patch @@ -0,0 +1,13 @@ +diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c +index 79716bd..2dd83fe 100644 +--- a/vmblock-only/linux/control.c ++++ b/vmblock-only/linux/control.c +@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name + + retval = i < 0 ? -EINVAL : blockOp(name, blocker); + +- putname(name); ++ __putname(name); + + return retval; + } diff --git a/app-emulation/vmware-modules/files/271-vmmon.patch b/app-emulation/vmware-modules/files/271-vmmon.patch new file mode 100644 index 0000000..f197964 --- /dev/null +++ b/app-emulation/vmware-modules/files/271-vmmon.patch @@ -0,0 +1,44 @@ +diff -ru source900/vmmon-only/linux/hostif.c source/vmmon-only/linux/hostif.c
+--- source900/vmmon-only/linux/hostif.c 2012-07-23 18:18:55.000000000 +0900
++++ source/vmmon-only/linux/hostif.c 2012-08-03 16:20:23.200420885 +0900
+@@ -48,6 +48,7 @@
+ #include <linux/smp_lock.h>
+ #endif
+
++#include <asm/asm.h>
+ #include <asm/io.h>
+ #include <asm/uaccess.h>
+ #include <linux/mc146818rtc.h>
+@@ -3586,31 +3587,14 @@
+ {
+ int ret;
+ unsigned low, high;
+-#if defined(VM_X86_64)
+ asm volatile("2: rdmsr ; xor %0,%0\n"
+ "1:\n\t"
+ ".section .fixup,\"ax\"\n\t"
+ "3: mov %4,%0 ; jmp 1b\n\t"
+ ".previous\n\t"
+- ".section __ex_table,\"a\"\n\t"
+- ".balign 8\n"
+- ".quad 2b,3b\n"
+- ".previous\n"
++ _ASM_EXTABLE(2b,3b)
+ : "=r"(ret), "=a"(low), "=d"(high)
+ : "c"(msr), "i"(-EFAULT), "1"(0), "2"(0)); // init eax/edx to 0
+-#else
+- asm volatile("2: rdmsr ; xor %0,%0\n"
+- "1:\n\t"
+- ".section .fixup,\"ax\"\n\t"
+- "3: mov %4,%0 ; jmp 1b\n\t"
+- ".previous\n\t"
+- ".section __ex_table,\"a\"\n"
+- ".balign 4\n"
+- ".long 2b,3b\n"
+- ".previous\n"
+- : "=r"(ret), "=a"(low), "=d"(high)
+- : "c"(msr), "i"(-EFAULT), "1"(0), "2"(0)); // init eax/edx to 0
+-#endif // VM_X86_64
+ *val = (low | ((u64)(high) << 32));
+
+ return ret;
diff --git a/app-emulation/vmware-modules/files/279-apic.patch b/app-emulation/vmware-modules/files/279-apic.patch new file mode 100644 index 0000000..66cd459 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-apic.patch @@ -0,0 +1,12 @@ +diff --git a/vmmon-only/linux/hostif.c b/vmmon-only/linux/hostif.c +index f1f4b10..c43242f 100644 +--- a/vmmon-only/linux/hostif.c ++++ b/vmmon-only/linux/hostif.c +@@ -55,6 +55,7 @@ + #include <linux/kthread.h> + #include <linux/wait.h> + ++#include <asm/apic.h> + + #include "vmware.h" + #include "x86apic.h" diff --git a/app-emulation/vmware-modules/files/279-hardened.patch b/app-emulation/vmware-modules/files/279-hardened.patch new file mode 100644 index 0000000..cc3e041 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-hardened.patch @@ -0,0 +1,113 @@ +diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c +index b21dd44..960c2aa 100644 +--- a/vmmon-only/linux/driver.c ++++ b/vmmon-only/linux/driver.c +@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = { + #endif + }; + +-static struct file_operations vmuser_fops; ++static struct file_operations vmuser_fops = { ++ .owner = THIS_MODULE, ++ .poll = LinuxDriverPoll, ++#ifdef HAVE_UNLOCKED_IOCTL ++ .unlocked_ioctl = LinuxDriver_UnlockedIoctl, ++#else ++ .ioctl = LinuxDriver_Ioctl, ++#endif ++#ifdef HAVE_COMPAT_IOCTL ++ .compat_ioctl = LinuxDriver_UnlockedIoctl, ++#endif ++ .open = LinuxDriver_Open, ++ .release = LinuxDriver_Close, ++ .mmap = LinuxDriverMmap ++}; ++ + static struct timer_list tscTimer; + + /* +@@ -357,27 +372,6 @@ init_module(void) + spin_lock_init(&linuxState.pollListLock); + #endif + +- /* +- * Initialize the file_operations structure. Because this code is always +- * compiled as a module, this is fine to do it here and not in a static +- * initializer. +- */ +- +- memset(&vmuser_fops, 0, sizeof vmuser_fops); +- vmuser_fops.owner = THIS_MODULE; +- vmuser_fops.poll = LinuxDriverPoll; +-#ifdef HAVE_UNLOCKED_IOCTL +- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; +-#else +- vmuser_fops.ioctl = LinuxDriver_Ioctl; +-#endif +-#ifdef HAVE_COMPAT_IOCTL +- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; +-#endif +- vmuser_fops.open = LinuxDriver_Open; +- vmuser_fops.release = LinuxDriver_Close; +- vmuser_fops.mmap = LinuxDriverMmap; +- + #ifdef VMX86_DEVEL + devel_init_module(); + linuxState.minor = 0; +diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c +index b12b982..40bd4cf 100644 +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp, + unsigned int iocmd, unsigned long ioarg); + #endif + +-static struct file_operations vnetFileOps; ++static struct file_operations vnetFileOps = { ++ .owner = THIS_MODULE, ++ .read = VNetFileOpRead, ++ .write = VNetFileOpWrite, ++ .poll = VNetFileOpPoll, ++#ifdef HAVE_UNLOCKED_IOCTL ++ .unlocked_ioctl = VNetFileOpUnlockedIoctl, ++#else ++ .ioctl = VNetFileOpIoctl, ++#endif ++#ifdef HAVE_COMPAT_IOCTL ++ .compat_ioctl = VNetFileOpUnlockedIoctl, ++#endif ++ .open = VNetFileOpOpen, ++ .release = VNetFileOpClose ++}; + + /* + * Utility functions +@@ -476,28 +491,6 @@ init_module(void) + goto err_proto; + } + +- /* +- * Initialize the file_operations structure. Because this code is always +- * compiled as a module, this is fine to do it here and not in a static +- * initializer. +- */ +- +- memset(&vnetFileOps, 0, sizeof vnetFileOps); +- vnetFileOps.owner = THIS_MODULE; +- vnetFileOps.read = VNetFileOpRead; +- vnetFileOps.write = VNetFileOpWrite; +- vnetFileOps.poll = VNetFileOpPoll; +-#ifdef HAVE_UNLOCKED_IOCTL +- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl; +-#else +- vnetFileOps.ioctl = VNetFileOpIoctl; +-#endif +-#ifdef HAVE_COMPAT_IOCTL +- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl; +-#endif +- vnetFileOps.open = VNetFileOpOpen; +- vnetFileOps.release = VNetFileOpClose; +- + retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps); + if (retval) { + LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n", diff --git a/app-emulation/vmware-modules/files/279-linux-3.14.patch b/app-emulation/vmware-modules/files/279-linux-3.14.patch new file mode 100644 index 0000000..67749c1 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-linux-3.14.patch @@ -0,0 +1,105 @@ +diff -rupN a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c +--- a/vmblock-only/linux/inode.c 2014-03-31 18:49:14.843009422 +0100 ++++ b/vmblock-only/linux/inode.c 2014-03-31 18:50:52.617009677 +0100 +@@ -135,7 +135,8 @@ InodeOpLookup(struct inode *dir, // + inode->i_size = INODE_TO_IINFO(inode)->nameLen; + inode->i_version = 1; + inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; +- inode->i_uid = inode->i_gid = 0; ++ inode->i_uid = GLOBAL_ROOT_UID; ++ inode->i_gid = GLOBAL_ROOT_GID; + inode->i_op = &LinkInodeOps; + + d_add(dentry, inode); +diff -rupN a/vmblock-only/shared/vm_assert.h b/vmblock-only/shared/vm_assert.h +--- a/vmblock-only/shared/vm_assert.h 2014-03-31 18:49:14.843009422 +0100 ++++ b/vmblock-only/shared/vm_assert.h 2014-03-31 18:49:21.388009439 +0100 +@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */ + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c +--- a/vmci-only/linux/driver.c 2014-03-31 18:49:14.840009422 +0100 ++++ b/vmci-only/linux/driver.c 2014-03-31 18:49:21.385009439 +0100 +@@ -737,7 +737,7 @@ LinuxDriver_Ioctl(struct inode *inode, + goto init_release; + } + +- user = current_uid(); ++ user = from_kuid(current_user_ns(), current_uid()); + retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags, + 0 /* Unused */, vmciLinux->userVersion, + &user, &vmciLinux->context); +diff -rupN a/vmci-only/shared/vm_assert.h b/vmci-only/shared/vm_assert.h +--- a/vmci-only/shared/vm_assert.h 2014-03-31 18:49:14.841009422 +0100 ++++ b/vmci-only/shared/vm_assert.h 2014-03-31 18:49:21.385009439 +0100 +@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */ + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN a/vmmon-only/include/vm_assert.h b/vmmon-only/include/vm_assert.h +--- a/vmmon-only/include/vm_assert.h 2014-03-31 18:49:14.835009422 +0100 ++++ b/vmmon-only/include/vm_assert.h 2014-03-31 18:49:21.380009439 +0100 +@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */ + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c +--- a/vmmon-only/linux/driver.c 2014-03-31 18:49:14.834009422 +0100 ++++ b/vmmon-only/linux/driver.c 2014-03-31 18:49:21.379009439 +0100 +@@ -1338,7 +1338,9 @@ LinuxDriverReadTSC(void *data, // OUT: + *----------------------------------------------------------------------------- + */ + +-__attribute__((always_inline)) static Bool ++#include <linux/compiler-gcc.h> ++ ++__always_inline static Bool + LinuxDriverSyncReadTSCs(uint64 *delta) // OUT: TSC max - TSC min + { + TSCDelta tscDelta; +diff -rupN a/vmnet-only/vm_assert.h b/vmnet-only/vm_assert.h +--- a/vmnet-only/vm_assert.h 2014-03-31 18:49:14.845009422 +0100 ++++ b/vmnet-only/vm_assert.h 2014-03-31 18:49:21.390009439 +0100 +@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */ + #define DEPRECATED(_fix) do {} while (0) + #endif + +diff -rupN a/vsock-only/linux/af_vsock.c b/vsock-only/linux/af_vsock.c +--- a/vsock-only/linux/af_vsock.c 2014-03-31 18:49:14.837009422 +0100 ++++ b/vsock-only/linux/af_vsock.c 2014-03-31 18:49:21.381009439 +0100 +@@ -2869,7 +2869,7 @@ __VSockVmciCreate(struct net *net, + vsk->connectTimeout = psk->connectTimeout; + } else { + vsk->trusted = capable(CAP_NET_ADMIN); +- vsk->owner = current_uid(); ++ vsk->owner = from_kuid(current_user_ns(), current_uid()); + vsk->queuePairSize = VSOCK_DEFAULT_QP_SIZE; + vsk->queuePairMinSize = VSOCK_DEFAULT_QP_SIZE_MIN; + vsk->queuePairMaxSize = VSOCK_DEFAULT_QP_SIZE_MAX; +diff -rupN a/vsock-only/shared/vm_assert.h b/vsock-only/shared/vm_assert.h +--- a/vsock-only/shared/vm_assert.h 2014-03-31 18:49:14.839009422 +0100 ++++ b/vsock-only/shared/vm_assert.h 2014-03-31 18:49:21.382009439 +0100 +@@ -256,6 +256,7 @@ void WarningThrottled(uint32 *count, con + __FILE__, __LINE__, __FUNCTION__, \ + _fix)) + #else ++ #undef DEPRECATED /* in <linux/printk.h> since 3.14.0 */ + #define DEPRECATED(_fix) do {} while (0) + #endif
\ No newline at end of file diff --git a/app-emulation/vmware-modules/files/279-makefile-include.patch b/app-emulation/vmware-modules/files/279-makefile-include.patch new file mode 100644 index 0000000..39c3000 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-makefile-include.patch @@ -0,0 +1,65 @@ +diff --git a/vmblock-only/Makefile.kernel b/vmblock-only/Makefile.kernel +index ab7a727..e3ec9d2 100644 +--- a/vmblock-only/Makefile.kernel ++++ b/vmblock-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE += -I$(SRCROOT)/include + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachecreate.c, -DVMW_KMEMCR_HAS_DTOR, ) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/cachector.c, -DVMW_KMEMCR_CTOR_HAS_3_ARGS, ) +diff --git a/vmci-only/Makefile.kernel b/vmci-only/Makefile.kernel +index ba343ee..861ea83 100644 +--- a/vmci-only/Makefile.kernel ++++ b/vmci-only/Makefile.kernel +@@ -21,7 +21,7 @@ CC_OPTS += -DVMCI + + INCLUDE += -I$(SRCROOT)/shared -I$(SRCROOT)/common -I$(SRCROOT)/linux + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + obj-m += $(DRIVER).o + +diff --git a/vmmon-only/Makefile.kernel b/vmmon-only/Makefile.kernel +index 8770d1d..c4746c3 100644 +--- a/vmmon-only/Makefile.kernel ++++ b/vmmon-only/Makefile.kernel +@@ -22,7 +22,7 @@ CC_OPTS += -DVMMON -DVMCORE + INCLUDE := -I$(SRCROOT)/include -I$(SRCROOT)/common -I$(SRCROOT)/linux \ + -I$(SRCROOT)/vmcore + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/autoconf/smpcall.c, -DVMW_HAVE_SMP_CALL_3ARG, ) + +diff --git a/vmnet-only/Makefile.kernel b/vmnet-only/Makefile.kernel +index d1e3133..665d428 100644 +--- a/vmnet-only/Makefile.kernel ++++ b/vmnet-only/Makefile.kernel +@@ -19,7 +19,7 @@ + + INCLUDE := -I$(SRCROOT) + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_net.c,-DVMW_NETDEV_HAS_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/netdev_has_dev_net.c,-DVMW_NETDEV_HAS_DEV_NET, ) + EXTRA_CFLAGS += $(call vm_check_build, $(SRCROOT)/nfhook_uses_skb.c,-DVMW_NFHOOK_USES_SKB, ) +diff --git a/vsock-only/Makefile.kernel b/vsock-only/Makefile.kernel +index b4629ee..264b8cb 100644 +--- a/vsock-only/Makefile.kernel ++++ b/vsock-only/Makefile.kernel +@@ -25,7 +25,7 @@ INCLUDE += -I$(SRCROOT)/include + INCLUDE += -I$(SRCROOT)/linux + INCLUDE += -I$(SRCROOT)/common + +-EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) ++EXTRA_CFLAGS := $(CC_OPTS) $(INCLUDE) $(LINUXINCLUDE) + EXTRA_CFLAGS += $(call vm_check_build, $(AUTOCONF_DIR)/netcreate_num_params.c, -DVMW_NETCREATE_KERNARG, ) + + diff --git a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch new file mode 100644 index 0000000..1a647a3 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch @@ -0,0 +1,85 @@ +diff --git a/vmblock-only/Makefile b/vmblock-only/Makefile +index 2b81323..746c8b8 100644 +--- a/vmblock-only/Makefile ++++ b/vmblock-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmblock + PRODUCT := ws +diff --git a/vmci-only/Makefile b/vmci-only/Makefile +index 8e9c5be..6ec828b 100644 +--- a/vmci-only/Makefile ++++ b/vmci-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmci + PRODUCT := ws +diff --git a/vmmon-only/Makefile b/vmmon-only/Makefile +index 5bd867b..91a83d4 100644 +--- a/vmmon-only/Makefile ++++ b/vmmon-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmmon + PRODUCT := @@PRODUCT@@ +diff --git a/vmnet-only/Makefile b/vmnet-only/Makefile +index d4eb73c..c7c6d38 100644 +--- a/vmnet-only/Makefile ++++ b/vmnet-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vmnet + PRODUCT := @@PRODUCT@@ +diff --git a/vsock-only/Makefile b/vsock-only/Makefile +index 93dd61d..9765696 100644 +--- a/vsock-only/Makefile ++++ b/vsock-only/Makefile +@@ -49,10 +49,10 @@ VM_UNAME = $(shell uname -r) + ifdef LINUXINCLUDE + HEADER_DIR = $(LINUXINCLUDE) + else +-HEADER_DIR = /lib/modules/$(VM_UNAME)/build/include ++HEADER_DIR = $(KERNEL_DIR) + endif + +-BUILD_DIR = $(HEADER_DIR)/.. ++BUILD_DIR = $(KBUILD_OUTPUT) + + DRIVER := vsock + PRODUCT := ws diff --git a/app-emulation/vmware-modules/files/279-netdevice.patch b/app-emulation/vmware-modules/files/279-netdevice.patch new file mode 100644 index 0000000..35231a3 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-netdevice.patch @@ -0,0 +1,24 @@ +diff --git a/vmnet-only/compat_netdevice.h b/vmnet-only/compat_netdevice.h +index 7a56304..9ff4548 100644 +--- a/vmnet-only/compat_netdevice.h ++++ b/vmnet-only/compat_netdevice.h +@@ -47,6 +47,19 @@ + # define net_device device + #endif + ++/* it looks like these have been removed from the kernel 3.1 ++ * probably because the "transition" is considered complete. ++ * so to keep this source compatible we just redefine them like they were ++ * previously ++ */ ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0) ++#define HAVE_ALLOC_NETDEV /* feature macro: alloc_xxxdev ++ functions are available. */ ++#define HAVE_FREE_NETDEV /* free_netdev() */ ++#define HAVE_NETDEV_PRIV /* netdev_priv() */ ++#define HAVE_NETIF_QUEUE ++#define HAVE_NET_DEVICE_OPS ++#endif + + /* + * SET_MODULE_OWNER appeared sometime during 2.3.x. It was setting diff --git a/app-emulation/vmware-modules/files/279-putname.patch b/app-emulation/vmware-modules/files/279-putname.patch new file mode 100644 index 0000000..6e76130 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-putname.patch @@ -0,0 +1,13 @@ +diff --git a/vmblock-only/linux/control.c b/vmblock-only/linux/control.c +index 79716bd..2dd83fe 100644 +--- a/vmblock-only/linux/control.c ++++ b/vmblock-only/linux/control.c +@@ -293,7 +293,7 @@ ExecuteBlockOp(const char __user *buf, // IN: buffer with name + + retval = i < 0 ? -EINVAL : blockOp(name, blocker); + +- putname(name); ++ __putname(name); + + return retval; + } diff --git a/app-emulation/vmware-modules/files/279-vmblock-3.11.patch b/app-emulation/vmware-modules/files/279-vmblock-3.11.patch new file mode 100644 index 0000000..1f7b869 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-vmblock-3.11.patch @@ -0,0 +1,89 @@ +--- a/vmblock-only/linux/file.c ++++ b/vmblock-only/linux/file.c +@@ -38,46 +38,6 @@ typedef u64 inode_num_t; + typedef ino_t inode_num_t; + #endif + +-/* Specifically for our filldir_t callback */ +-typedef struct FilldirInfo { +- filldir_t filldir; +- void *dirent; +-} FilldirInfo; +- +- +-/* +- *---------------------------------------------------------------------------- +- * +- * Filldir -- +- * +- * Callback function for readdir that we use in place of the one provided. +- * This allows us to specify that each dentry is a symlink, but pass through +- * everything else to the original filldir function. +- * +- * Results: +- * Original filldir's return value. +- * +- * Side effects: +- * Directory information gets copied to user's buffer. +- * +- *---------------------------------------------------------------------------- +- */ +- +-static int +-Filldir(void *buf, // IN: Dirent buffer passed from FileOpReaddir +- const char *name, // IN: Dirent name +- int namelen, // IN: len of dirent's name +- loff_t offset, // IN: Offset +- inode_num_t ino, // IN: Inode number of dirent +- unsigned int d_type) // IN: Type of file +-{ +- FilldirInfo *info = buf; +- +- /* Specify DT_LNK regardless */ +- return info->filldir(info->dirent, name, namelen, offset, ino, DT_LNK); +-} +- +- + /* File operations */ + + /* +@@ -166,11 +126,10 @@ FileOpOpen(struct inode *inode, // IN + + static int + FileOpReaddir(struct file *file, // IN +- void *dirent, // IN +- filldir_t filldir) // IN ++ struct dir_context *ctx) // IN + { + int ret; +- FilldirInfo info; ++ + struct file *actualFile; + + if (!file) { +@@ -184,12 +143,10 @@ FileOpReaddir(struct file *file, // IN + return -EINVAL; + } + +- info.filldir = filldir; +- info.dirent = dirent; +- +- actualFile->f_pos = file->f_pos; +- ret = vfs_readdir(actualFile, Filldir, &info); +- file->f_pos = actualFile->f_pos; ++ /* Ricky Wong Yung Fei: ++ * Manipulation of pos is now handled internally by iterate_dir(). ++ */ ++ ret = iterate_dir(actualFile, ctx); + + return ret; + } +@@ -237,7 +194,7 @@ FileOpRelease(struct inode *inode, // IN + + + struct file_operations RootFileOps = { +- .readdir = FileOpReaddir, ++ .iterate = FileOpReaddir, + .open = FileOpOpen, + .release = FileOpRelease, + };
\ No newline at end of file diff --git a/app-emulation/vmware-modules/files/279-vmblock-3.12.patch b/app-emulation/vmware-modules/files/279-vmblock-3.12.patch new file mode 100644 index 0000000..33ce462 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-vmblock-3.12.patch @@ -0,0 +1,69 @@ +--- a/vmblock-only/linux/control.c 2013-10-03 04:29:47.471339204 -0400 ++++ b/vmblock-only/linux/control.c 2013-10-03 04:31:56.607334636 -0400 +@@ -283,7 +283,7 @@ + int i; + int retval; + +- name = getname(buf); ++ name = (char*)getname(buf)->name; + if (IS_ERR(name)) { + return PTR_ERR(name); + } +--- a/vmblock-only/linux/dentry.c 2013-10-03 04:29:47.471339204 -0400 ++++ b/vmblock-only/linux/dentry.c 2013-10-03 04:31:56.607334636 -0400 +@@ -32,7 +32,7 @@ + #include "block.h" + + +-static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); ++static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); + + struct dentry_operations LinkDentryOps = { + .d_revalidate = DentryOpRevalidate, +@@ -60,7 +60,7 @@ + + static int + DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating +- struct nameidata *nd) // IN: lookup flags & intent ++ unsigned int flags) // IN: lookup flags & intent + { + VMBlockInodeInfo *iinfo; + struct nameidata actualNd; +@@ -101,7 +101,7 @@ + if (actualDentry && + actualDentry->d_op && + actualDentry->d_op->d_revalidate) { +- return actualDentry->d_op->d_revalidate(actualDentry, nd); ++ return actualDentry->d_op->d_revalidate(actualDentry, flags); + } + + if (compat_path_lookup(iinfo->name, 0, &actualNd)) { +--- a/vmblock-only/linux/inode.c 2013-10-03 04:29:47.471339204 -0400 ++++ b/vmblock-only/linux/inode.c 2013-10-03 04:31:56.607334636 -0400 +@@ -36,7 +36,7 @@ + + /* Inode operations */ + static struct dentry *InodeOpLookup(struct inode *dir, +- struct dentry *dentry, struct nameidata *nd); ++ struct dentry *dentry, unsigned int flags); + static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) + static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); +@@ -75,7 +75,7 @@ + static struct dentry * + InodeOpLookup(struct inode *dir, // IN: parent directory's inode + struct dentry *dentry, // IN: dentry to lookup +- struct nameidata *nd) // IN: lookup intent and information ++ unsigned int flags) // IN: lookup intent and information + { + char *filename; + struct inode *inode; +@@ -221,7 +221,7 @@ + goto out; + } + +- ret = vfs_follow_link(nd, iinfo->name); ++ nd_set_link(nd, iinfo->name); + + out: + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13)
\ No newline at end of file diff --git a/app-emulation/vmware-modules/files/279-vmblock.patch b/app-emulation/vmware-modules/files/279-vmblock.patch new file mode 100644 index 0000000..0daf603 --- /dev/null +++ b/app-emulation/vmware-modules/files/279-vmblock.patch @@ -0,0 +1,23 @@ +diff -ruN work.orig/vmblock-only/linux/control.c work/vmblock-only/linux/control.c +--- work.orig/vmblock-only/linux/control.c 2013-11-02 18:05:39.960226399 +0100 ++++ work/vmblock-only/linux/control.c 2013-11-02 18:09:11.760231432 +0100 +@@ -208,17 +208,14 @@ + VMBlockSetProcEntryOwner(controlProcMountpoint); + + /* Create /proc/fs/vmblock/dev */ +- controlProcEntry = create_proc_entry(VMBLOCK_CONTROL_DEVNAME, +- VMBLOCK_CONTROL_MODE, +- controlProcDirEntry); +- if (!controlProcEntry) { ++ controlProcEntry = proc_create(VMBLOCK_CONTROL_DEVNAME, VMBLOCK_CONTROL_MODE, controlProcDirEntry, &ControlFileOps); ++ if (controlProcEntry == NULL) { + Warning("SetupProcDevice: could not create " VMBLOCK_DEVICE "\n"); + remove_proc_entry(VMBLOCK_CONTROL_MOUNTPOINT, controlProcDirEntry); + remove_proc_entry(VMBLOCK_CONTROL_PROC_DIRNAME, NULL); + return -EINVAL; + } + +- controlProcEntry->proc_fops = &ControlFileOps; + return 0; + } + diff --git a/app-emulation/vmware-modules/files/hardened.patch b/app-emulation/vmware-modules/files/hardened.patch new file mode 100644 index 0000000..ea1b0f3 --- /dev/null +++ b/app-emulation/vmware-modules/files/hardened.patch @@ -0,0 +1,170 @@ +diff --git a/vmci-only/linux/driver.c b/vmci-only/linux/driver.c +index 921f25c..41a39e3 100644 +--- a/vmci-only/linux/driver.c ++++ b/vmci-only/linux/driver.c +@@ -241,7 +241,24 @@ static unsigned int LinuxDriverPoll(struct file *file, poll_table *wait); + #define LinuxDriverUnlockIoctlPerFD(mutex) do {} while (0) + #endif + +-static struct file_operations vmuser_fops; ++/* ++ * Moved file operations initialize here because of incompatibilites ++ * with Gentoo hardened profile/hardend Linux 3. ++ */ ++static struct file_operations vmuser_fops = { ++ .owner = THIS_MODULE, ++ .poll = LinuxDriverPoll, ++#ifdef HAVE_UNLOCKED_IOCTL ++ .unlocked_ioctl = LinuxDriver_UnlockedIoctl, ++#else ++ .ioctl = LinuxDriver_Ioctl, ++#endif ++#ifdef HAVE_COMPAT_IOCTL ++ .compat_ioctl = LinuxDriver_UnlockedIoctl, ++#endif ++ .open = LinuxDriver_Open, ++ .release = LinuxDriver_Close ++}; + + + /* +@@ -378,26 +395,6 @@ vmci_host_init(void) + return -ENOMEM; + } + +- /* +- * Initialize the file_operations structure. Because this code is always +- * compiled as a module, this is fine to do it here and not in a static +- * initializer. +- */ +- +- memset(&vmuser_fops, 0, sizeof vmuser_fops); +- vmuser_fops.owner = THIS_MODULE; +- vmuser_fops.poll = LinuxDriverPoll; +-#ifdef HAVE_UNLOCKED_IOCTL +- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; +-#else +- vmuser_fops.ioctl = LinuxDriver_Ioctl; +-#endif +-#ifdef HAVE_COMPAT_IOCTL +- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; +-#endif +- vmuser_fops.open = LinuxDriver_Open; +- vmuser_fops.release = LinuxDriver_Close; +- + sprintf(linuxState.deviceName, "vmci"); + linuxState.major = 10; + linuxState.misc.minor = MISC_DYNAMIC_MINOR; +diff --git a/vmmon-only/linux/driver.c b/vmmon-only/linux/driver.c +index b21dd44..960c2aa 100644 +--- a/vmmon-only/linux/driver.c ++++ b/vmmon-only/linux/driver.c +@@ -178,7 +178,22 @@ static struct vm_operations_struct vmuser_mops = { + #endif + }; + +-static struct file_operations vmuser_fops; ++static struct file_operations vmuser_fops = { ++ .owner = THIS_MODULE, ++ .poll = LinuxDriverPoll, ++#ifdef HAVE_UNLOCKED_IOCTL ++ .unlocked_ioctl = LinuxDriver_UnlockedIoctl, ++#else ++ .ioctl = LinuxDriver_Ioctl, ++#endif ++#ifdef HAVE_COMPAT_IOCTL ++ .compat_ioctl = LinuxDriver_UnlockedIoctl, ++#endif ++ .open = LinuxDriver_Open, ++ .release = LinuxDriver_Close, ++ .mmap = LinuxDriverMmap ++}; ++ + static struct timer_list tscTimer; + + /* +@@ -357,27 +372,6 @@ init_module(void) + spin_lock_init(&linuxState.pollListLock); + #endif + +- /* +- * Initialize the file_operations structure. Because this code is always +- * compiled as a module, this is fine to do it here and not in a static +- * initializer. +- */ +- +- memset(&vmuser_fops, 0, sizeof vmuser_fops); +- vmuser_fops.owner = THIS_MODULE; +- vmuser_fops.poll = LinuxDriverPoll; +-#ifdef HAVE_UNLOCKED_IOCTL +- vmuser_fops.unlocked_ioctl = LinuxDriver_UnlockedIoctl; +-#else +- vmuser_fops.ioctl = LinuxDriver_Ioctl; +-#endif +-#ifdef HAVE_COMPAT_IOCTL +- vmuser_fops.compat_ioctl = LinuxDriver_UnlockedIoctl; +-#endif +- vmuser_fops.open = LinuxDriver_Open; +- vmuser_fops.release = LinuxDriver_Close; +- vmuser_fops.mmap = LinuxDriverMmap; +- + #ifdef VMX86_DEVEL + devel_init_module(); + linuxState.minor = 0; +diff --git a/vmnet-only/driver.c b/vmnet-only/driver.c +index b12b982..40bd4cf 100644 +--- a/vmnet-only/driver.c ++++ b/vmnet-only/driver.c +@@ -165,7 +165,22 @@ static long VNetFileOpUnlockedIoctl(struct file * filp, + unsigned int iocmd, unsigned long ioarg); + #endif + +-static struct file_operations vnetFileOps; ++static struct file_operations vnetFileOps = { ++ .owner = THIS_MODULE, ++ .read = VNetFileOpRead, ++ .write = VNetFileOpWrite, ++ .poll = VNetFileOpPoll, ++#ifdef HAVE_UNLOCKED_IOCTL ++ .unlocked_ioctl = VNetFileOpUnlockedIoctl, ++#else ++ .ioctl = VNetFileOpIoctl, ++#endif ++#ifdef HAVE_COMPAT_IOCTL ++ .compat_ioctl = VNetFileOpUnlockedIoctl, ++#endif ++ .open = VNetFileOpOpen, ++ .release = VNetFileOpClose ++}; + + /* + * Utility functions +@@ -476,28 +491,6 @@ init_module(void) + goto err_proto; + } + +- /* +- * Initialize the file_operations structure. Because this code is always +- * compiled as a module, this is fine to do it here and not in a static +- * initializer. +- */ +- +- memset(&vnetFileOps, 0, sizeof vnetFileOps); +- vnetFileOps.owner = THIS_MODULE; +- vnetFileOps.read = VNetFileOpRead; +- vnetFileOps.write = VNetFileOpWrite; +- vnetFileOps.poll = VNetFileOpPoll; +-#ifdef HAVE_UNLOCKED_IOCTL +- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl; +-#else +- vnetFileOps.ioctl = VNetFileOpIoctl; +-#endif +-#ifdef HAVE_COMPAT_IOCTL +- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl; +-#endif +- vnetFileOps.open = VNetFileOpOpen; +- vnetFileOps.release = VNetFileOpClose; +- + retval = register_chrdev(VNET_MAJOR_NUMBER, "vmnet", &vnetFileOps); + if (retval) { + LOG(0, (KERN_NOTICE "/dev/vmnet: could not register major device %d\n", diff --git a/app-emulation/vmware-modules/metadata.xml b/app-emulation/vmware-modules/metadata.xml new file mode 100644 index 0000000..313c162 --- /dev/null +++ b/app-emulation/vmware-modules/metadata.xml @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>vmware</herd> + <longdescription> + VMware kernel modules. + </longdescription> + <use> + <flag name="pax_kernel">Apply patch needed for pax enabled kernels</flag> + <flag name="vmci">Build the Virtual Machine Communication Interface module; disable this if you want to use the module from the mainline kernel</flag> + <flag name="vsock">Build the VMware VMCI transport for Virtual Sockets; disable this if you want to use the module from the mainline kernel</flag> + </use> +</pkgmetadata> diff --git a/app-emulation/vmware-modules/vmware-modules-271.3.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3.ebuild new file mode 100644 index 0000000..6e1afea --- /dev/null +++ b/app-emulation/vmware-modules/vmware-modules-271.3.ebuild @@ -0,0 +1,83 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-271.3.ebuild,v 1.1 2014/04/12 18:28:49 dilfridge Exp $ + +EAPI="4" + +inherit eutils flag-o-matic linux-info linux-mod user versionator udev + +PV_MAJOR=$(get_major_version) +PV_MINOR=$(get_version_component_range 2) + +DESCRIPTION="VMware kernel modules" +HOMEPAGE="http://www.vmware.com/" + +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel" + +RDEPEND="" +DEPEND="${RDEPEND} + || ( =app-emulation/vmware-player-5.0.${PV_MINOR}* + =app-emulation/vmware-workstation-9.0.${PV_MINOR}* )" + +S=${WORKDIR} + +pkg_setup() { + CONFIG_CHECK="~HIGH_RES_TIMERS" + if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then + CONFIG_CHECK="${CONFIG_CHECK} BKL" + fi + + linux-info_pkg_setup + + linux-mod_pkg_setup + + VMWARE_GROUP=${VMWARE_GROUP:-vmware} + + VMWARE_MODULE_LIST="vmblock vmci vmmon vmnet vsock" + VMWARE_MOD_DIR="${PN}-${PVR}" + + BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" + + enewgroup "${VMWARE_GROUP}" + filter-flags -mfpmath=sse + + for mod in ${VMWARE_MODULE_LIST}; do + MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)" + done +} + +src_unpack() { + cd "${S}" + for mod in ${VMWARE_MODULE_LIST}; do + tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar + done +} + +src_prepare() { + epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch" + epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch" + epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch" + use pax_kernel && epatch "${FILESDIR}/hardened.patch" + epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" + kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10.0.patch" + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_install() { + linux-mod_src_install + local udevrules="${T}/60-vmware.rules" + cat > "${udevrules}" <<-EOF + KERNEL=="vmci", GROUP="vmware", MODE=660 + KERNEL=="vmmon", GROUP="vmware", MODE=660 + KERNEL=="vsock", GROUP="vmware", MODE=660 + EOF + udev_dorules "${udevrules}" +} diff --git a/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild new file mode 100644 index 0000000..b15e0e8 --- /dev/null +++ b/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.1-r1.ebuild,v 1.1 2014/04/12 20:13:46 dilfridge Exp $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod user versionator udev + +PV_MAJOR=$(get_major_version) +PV_MINOR=$(get_version_component_range 2) + +DESCRIPTION="VMware kernel modules" +HOMEPAGE="http://www.vmware.com/" + +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel +vmci +vsock" + +RDEPEND="" +DEPEND="${RDEPEND} + || ( =app-emulation/vmware-player-6.0.${PV_MINOR}* + =app-emulation/vmware-workstation-10.0.${PV_MINOR}* )" + +S=${WORKDIR} + +pkg_setup() { + CONFIG_CHECK="~HIGH_RES_TIMERS" + if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then + CONFIG_CHECK="${CONFIG_CHECK} BKL" + fi + if use vmci ; then + CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI" + else + CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI" + fi + if use vsock ; then + CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS" + else + CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS" + fi + + linux-info_pkg_setup + + linux-mod_pkg_setup + + VMWARE_GROUP=${VMWARE_GROUP:-vmware} + + VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock" + VMWARE_MODULE_LIST="vmblock vmmon vmnet" + use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci" + use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock" + + VMWARE_MOD_DIR="${PN}-${PVR}" + + BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" + + enewgroup "${VMWARE_GROUP}" + filter-flags -mfpmath=sse + + for mod in ${VMWARE_MODULE_LIST}; do + MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)" + done +} + +src_unpack() { + cd "${S}" + for mod in ${VMWARE_MODULE_LIST_ALL}; do + tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar + done +} + +src_prepare() { + epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch" + epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch" + epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch" + use pax_kernel && epatch "${FILESDIR}/279-hardened.patch" + epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" + kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_install() { + linux-mod_src_install + local udevrules="${T}/60-vmware.rules" + cat > "${udevrules}" <<-EOF + KERNEL=="vmci", GROUP="vmware", MODE=660 + KERNEL=="vmw_vmci", GROUP="vmware", MODE=660 + KERNEL=="vmmon", GROUP="vmware", MODE=660 + KERNEL=="vsock", GROUP="vmware", MODE=660 + EOF + udev_dorules "${udevrules}" +} diff --git a/app-emulation/vmware-modules/vmware-modules-279.2.ebuild b/app-emulation/vmware-modules/vmware-modules-279.2.ebuild new file mode 100644 index 0000000..b3de38e --- /dev/null +++ b/app-emulation/vmware-modules/vmware-modules-279.2.ebuild @@ -0,0 +1,100 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/vmware-modules/vmware-modules-279.2.ebuild,v 1.1 2014/04/19 10:10:25 dilfridge Exp $ + +EAPI=5 + +inherit eutils flag-o-matic linux-info linux-mod user versionator udev + +PV_MAJOR=$(get_major_version) +PV_MINOR=$(get_version_component_range 2) + +DESCRIPTION="VMware kernel modules" +HOMEPAGE="http://www.vmware.com/" + +SRC_URI="" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="pax_kernel +vmci +vsock" + +RDEPEND="" +DEPEND="${RDEPEND} + || ( =app-emulation/vmware-player-6.0.${PV_MINOR}* + =app-emulation/vmware-workstation-10.0.${PV_MINOR}* )" + +S=${WORKDIR} + +pkg_setup() { + CONFIG_CHECK="~HIGH_RES_TIMERS" + if kernel_is ge 2 6 37 && kernel_is lt 2 6 39; then + CONFIG_CHECK="${CONFIG_CHECK} BKL" + fi + if use vmci ; then + CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI" + else + CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI" + fi + if use vsock ; then + CONFIG_CHECK="${CONFIG_CHECK} !VMWARE_VMCI_VSOCKETS" + else + CONFIG_CHECK="${CONFIG_CHECK} VMWARE_VMCI_VSOCKETS" + fi + + linux-info_pkg_setup + + linux-mod_pkg_setup + + VMWARE_GROUP=${VMWARE_GROUP:-vmware} + + VMWARE_MODULE_LIST_ALL="vmblock vmmon vmnet vmci vsock" + VMWARE_MODULE_LIST="vmblock vmmon vmnet" + use vmci && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vmci" + use vsock && VMWARE_MODULE_LIST="${VMWARE_MODULE_LIST} vsock" + + VMWARE_MOD_DIR="${PN}-${PVR}" + + BUILD_TARGETS="auto-build KERNEL_DIR=${KERNEL_DIR} KBUILD_OUTPUT=${KV_OUT_DIR}" + + enewgroup "${VMWARE_GROUP}" + filter-flags -mfpmath=sse + + for mod in ${VMWARE_MODULE_LIST}; do + MODULE_NAMES="${MODULE_NAMES} ${mod}(misc:${S}/${mod}-only)" + done +} + +src_unpack() { + cd "${S}" + for mod in ${VMWARE_MODULE_LIST_ALL}; do + tar -xf /opt/vmware/lib/vmware/modules/source/${mod}.tar + done +} + +src_prepare() { + epatch "${FILESDIR}/${PV_MAJOR}-makefile-kernel-dir.patch" + epatch "${FILESDIR}/${PV_MAJOR}-makefile-include.patch" + epatch "${FILESDIR}/${PV_MAJOR}-netdevice.patch" + use pax_kernel && epatch "${FILESDIR}/279-hardened.patch" + epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" + kernel_is ge 3 7 0 && epatch "${FILESDIR}/${PV_MAJOR}-putname.patch" + kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock.patch" + kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.11.patch" + kernel_is ge 3 12 0 && epatch "${FILESDIR}/${PV_MAJOR}-vmblock-3.12.patch" + kernel_is ge 3 14 0 && epatch "${FILESDIR}/${PV_MAJOR}-linux-3.14.patch" + # Allow user patches so they can support RC kernels and whatever else + epatch_user +} + +src_install() { + linux-mod_src_install + local udevrules="${T}/60-vmware.rules" + cat > "${udevrules}" <<-EOF + KERNEL=="vmci", GROUP="vmware", MODE=660 + KERNEL=="vmw_vmci", GROUP="vmware", MODE=660 + KERNEL=="vmmon", GROUP="vmware", MODE=660 + KERNEL=="vsock", GROUP="vmware", MODE=660 + EOF + udev_dorules "${udevrules}" +}
\ No newline at end of file |