diff options
author | 2017-11-01 14:45:43 +0100 | |
---|---|---|
committer | 2017-11-01 14:46:23 +0100 | |
commit | a2d54401ad16fe676b80bb5618a569ebe02636d5 (patch) | |
tree | 5a28f686ca7e6e2c030a719eaaface3cb490ac84 /app-emulation/vmware-modules | |
parent | app-misc/fsniper: patch against obsolete C call. (diff) | |
download | gentoo-a2d54401ad16fe676b80bb5618a569ebe02636d5.tar.gz gentoo-a2d54401ad16fe676b80bb5618a569ebe02636d5.tar.bz2 gentoo-a2d54401ad16fe676b80bb5618a569ebe02636d5.zip |
app-emulation/vmware-*: Remove. Please use the vmware overlay.
Diffstat (limited to 'app-emulation/vmware-modules')
122 files changed, 0 insertions, 6395 deletions
diff --git a/app-emulation/vmware-modules/files/271-3.10-00-userns.patch b/app-emulation/vmware-modules/files/271-3.10-00-userns.patch deleted file mode 100644 index b1b78b76300e..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-00-userns.patch +++ /dev/null @@ -1,41 +0,0 @@ -correctly initializes UID/GID values -gets UID correctly in light of user namespace API -origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888 - ---- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100 -+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100 -@@ -135,7 +135,8 @@ - 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); - ---- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100 -+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100 -@@ -740,7 +740,7 @@ - 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); - ---- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100 -+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100 -@@ -2866,7 +2866,7 @@ - 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 --git a/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch b/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch deleted file mode 100644 index 889ae71be47b..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-01-create_proc_entry.patch +++ /dev/null @@ -1,28 +0,0 @@ -uses the new proc_create function to create /proc entries -instead of create_proc_entry which was deprecated: -https://lkml.org/lkml/2013/4/11/215 - ---- 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-3.10-02-getname.patch b/app-emulation/vmware-modules/files/271-3.10-02-getname.patch deleted file mode 100644 index 05ed8dbcc374..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-02-getname.patch +++ /dev/null @@ -1,24 +0,0 @@ -uses __getname/__putname instead of getname. getname was deprecated -the new code calls __getname (which really is a specific type of -memory allocator, then copies the string safely from user space -into the allocated buffer - ---- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100 -+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100 -@@ -279,11 +279,17 @@ - int i; - int retval; - -- name = getname(buf); -+ name = __getname(); - if (IS_ERR(name)) { - return PTR_ERR(name); - } - -+ i = strncpy_from_user(name, buf, PATH_MAX); -+ if (i < 0 || i == PATH_MAX) { -+ __putname(name); -+ return -EINVAL; -+ } -+ - for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { diff --git a/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch deleted file mode 100644 index 981aabdd1260..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-03-deprecated.patch +++ /dev/null @@ -1,89 +0,0 @@ -undefines DEPRECATED which is unfortunately also defined (as a string) -in <linux/printk.h>. Realistically, this macro isn't even used, so this -doesn't matter much. But it hushes some very loud warnings. - -diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h ---- vmblock-only/shared/vm_assert.h 2014-10-09 21:50:54.221159088 -0400 -+++ vmblock-only.new/shared/vm_assert.h 2014-10-09 21:53:04.612166156 -0400 -@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED; %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h ---- vmci-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400 -+++ vmci-only.new/shared/vm_assert.h 2014-10-09 21:52:52.348165492 -0400 -@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED; %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h ---- vmmon-only/include/vm_assert.h 2014-10-09 21:50:54.222159088 -0400 -+++ vmmon-only.new/include/vm_assert.h 2014-10-09 21:52:36.877164653 -0400 -@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED; %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h ---- vmnet-only/vm_assert.h 2014-10-09 21:50:54.222159088 -0400 -+++ vmnet-only.new/vm_assert.h 2014-10-09 21:52:57.736165784 -0400 -@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED; %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h ---- vsock-only/shared/vm_assert.h 2014-10-09 21:50:54.222159088 -0400 -+++ vsock-only.new/shared/vm_assert.h 2014-10-09 21:52:45.352165112 -0400 -@@ -237,11 +237,13 @@ EXTERN void WarningThrottled(uint32 *cou - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED; %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - diff --git a/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch b/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch deleted file mode 100644 index d5129ec689a4..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-04-unused-typedef.patch +++ /dev/null @@ -1,115 +0,0 @@ -hushes warnings about unused typedefs which are part of the "static assert" -technique that the code uses. We simply add an "__attribute__((unused)) to each of them - ---- vmblock-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400 -+++ vmblock-only/shared/vm_assert.h 2014-10-07 22:48:01.346409957 -0400 -@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou - #define ASSERT_ON_COMPILE(e) \ - do { \ - enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } while (0) - - ---- vmci-only/shared/vm_assert.h 2014-10-07 22:43:39.519402467 -0400 -+++ vmci-only/shared/vm_assert.h 2014-10-07 22:47:51.829409685 -0400 -@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou - #define ASSERT_ON_COMPILE(e) \ - do { \ - enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } while (0) - - ---- vmmon-only/include/vm_assert.h 2014-10-07 22:43:39.520402467 -0400 -+++ vmmon-only/include/vm_assert.h 2014-10-07 22:47:39.246409325 -0400 -@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou - #define ASSERT_ON_COMPILE(e) \ - do { \ - enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } while (0) - - ---- vmnet-only/vm_assert.h 2014-10-07 22:43:39.520402467 -0400 -+++ vmnet-only/vm_assert.h 2014-10-07 22:47:55.804409799 -0400 -@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou - #define ASSERT_ON_COMPILE(e) \ - do { \ - enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } while (0) - - ---- vsock-only/shared/vm_assert.h 2014-10-07 22:47:11.595408534 -0400 -+++ vsock-only/shared/vm_assert.h 2014-10-07 22:45:55.715406363 -0400 -@@ -317,7 +317,7 @@ EXTERN void WarningThrottled(uint32 *cou - #define ASSERT_ON_COMPILE(e) \ - do { \ - enum { AssertOnCompileMisused = ((e) ? 1 : -1) }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } while (0) - - ---- vsock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only/shared/vm_atomic.h 2014-10-07 22:53:06.024418673 -0400 -@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, // - && 8 * sizeof (out) == size \ - && 8 * sizeof (cast) == size \ - ? 1 : -1 }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } \ - \ - \ ---- vmci-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500 -+++ vmci-only/shared/vm_atomic.h 2014-10-07 22:53:24.873419213 -0400 -@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, // - && 8 * sizeof (out) == size \ - && 8 * sizeof (cast) == size \ - ? 1 : -1 }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } \ - \ - \ - ---- vmblock-only/shared/vm_atomic.h 2013-11-05 23:33:27.000000000 -0500 -+++ vmblock-only/shared/vm_atomic.h 2014-10-07 22:53:31.073419390 -0400 -@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, // - && 8 * sizeof (out) == size \ - && 8 * sizeof (cast) == size \ - ? 1 : -1 }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } \ - \ - ---- vmnet-only/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500 -+++ vmnet-only/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400 -@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, // - && 8 * sizeof (out) == size \ - && 8 * sizeof (cast) == size \ - ? 1 : -1 }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } \ - \ - \ - ---- vmmon-only/include/vm_atomic.h 2013-11-06 00:40:52.000000000 -0500 -+++ vmmon-only/include/vm_atomic.h 2014-10-07 23:04:50.637438831 -0400 -@@ -2394,7 +2394,7 @@ Atomic_TestBit64(Atomic_uint64 *var, // - && 8 * sizeof (out) == size \ - && 8 * sizeof (cast) == size \ - ? 1 : -1 }; \ -- typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ -+ __attribute__((unused)) typedef char AssertOnCompileFailed[AssertOnCompileMisused]; \ - } \ - \ - \ diff --git a/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch b/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch deleted file mode 100644 index f4f59d977408..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-05-dentry.patch +++ /dev/null @@ -1,34 +0,0 @@ -starting with kernel 3.6, d_revalidate takes an unsigned int "flags" -as the second argument, not a nameidata pointer! see fs/namei.c -for implementation - -diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -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)) { diff --git a/app-emulation/vmware-modules/files/271-3.10-06-inode.patch b/app-emulation/vmware-modules/files/271-3.10-06-inode.patch deleted file mode 100644 index 01c88930899c..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-06-inode.patch +++ /dev/null @@ -1,36 +0,0 @@ -starting with kernel 3.6, d_revalidate takes an unsigned int "flags" -as the second argument, not a nameidata pointer! see fs/namei.c -for implementation. Also changing vfs_follow_link to nd_set_link. -See: https://lkml.org/lkml/2013/9/9/236 - -diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c ---- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -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,8 @@ - goto out; - } - -- ret = vfs_follow_link(nd, iinfo->name); -+ nd_set_link(nd, iinfo->name); -+ ret = 0; - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/271-3.10-07-hub.patch b/app-emulation/vmware-modules/files/271-3.10-07-hub.patch deleted file mode 100644 index eebe4a23b304..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10-07-hub.patch +++ /dev/null @@ -1,26 +0,0 @@ -fixes a bug where sizeof was being used on a pointer when they clearly -meant to use the size of the array referred to. Fortunately, the amount is -always smaller than the actual size of the buffer, so likely not a security issue -(and was fixed in vmware-workstaiton 10 - -diff -rupN vmnet-only/hub.c vmnet-only.new/hub.c ---- vmnet-only/hub.c 2013-11-06 00:40:52.000000000 -0500 -+++ vmnet-only.new/hub.c 2014-10-07 18:45:34.403918680 -0400 -@@ -129,7 +129,7 @@ VNetHubFindHubByID(uint8 idNum[VNET_PVN_ - { - VNetHub *currHub = vnetHub; - while (currHub && (currHub->hubType != HUB_TYPE_PVN || -- memcmp(idNum, currHub->id.pvnID, sizeof idNum))) { -+ memcmp(idNum, currHub->id.pvnID, VNET_PVN_ID_LEN))) { - currHub = currHub->next; - } - return currHub; -@@ -312,7 +312,7 @@ VNetHubAlloc(Bool allocPvn, // IN: TRUE - - if (allocPvn) { - hub->hubType = HUB_TYPE_PVN; -- memcpy(hub->id.pvnID, id, sizeof id); -+ memcpy(hub->id.pvnID, id, VNET_PVN_ID_LEN); - ++pvnInstance; - } else { - hub->hubType = HUB_TYPE_VNET; diff --git a/app-emulation/vmware-modules/files/271-3.10.0.patch b/app-emulation/vmware-modules/files/271-3.10.0.patch deleted file mode 100644 index 7795b18f5d7e..000000000000 --- a/app-emulation/vmware-modules/files/271-3.10.0.patch +++ /dev/null @@ -1,809 +0,0 @@ ---- 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-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/271-3.11-00-readdir.patch deleted file mode 100644 index b2f76d3e2b30..000000000000 --- a/app-emulation/vmware-modules/files/271-3.11-00-readdir.patch +++ /dev/null @@ -1,41 +0,0 @@ -replaces usage of vfs_readdir with iterate_dir. origionally found here: -https://bugs.gentoo.org/show_bug.cgi?id=508204 - -diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c ---- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400 -@@ -166,11 +166,9 @@ - - static int - FileOpReaddir(struct file *file, // IN -- void *dirent, // IN -- filldir_t filldir) // IN -+ struct dir_context *ctx) - { - int ret; -- FilldirInfo info; - struct file *actualFile; - - if (!file) { -@@ -184,11 +182,8 @@ - return -EINVAL; - } - -- info.filldir = filldir; -- info.dirent = dirent; -- - actualFile->f_pos = file->f_pos; -- ret = vfs_readdir(actualFile, Filldir, &info); -+ ret = iterate_dir(actualFile, ctx); - file->f_pos = actualFile->f_pos; - - return ret; -@@ -237,7 +232,7 @@ - - - struct file_operations RootFileOps = { -- .readdir = FileOpReaddir, -+ .iterate = FileOpReaddir, - .open = FileOpOpen, - .release = FileOpRelease, - }; diff --git a/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch deleted file mode 100644 index 2eec99b7c1f8..000000000000 --- a/app-emulation/vmware-modules/files/271-3.11-01-filldir.patch +++ /dev/null @@ -1,53 +0,0 @@ -simply remove the code for Filldir since it is no longer used with the new -iterate_dir API - -diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c ---- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400 -+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400 -@@ -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 */ - - /* diff --git a/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch b/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch deleted file mode 100644 index 1bf22077b727..000000000000 --- a/app-emulation/vmware-modules/files/271-3.13-00-vmnet.patch +++ /dev/null @@ -1,39 +0,0 @@ -the new API to get the hooknum -origionally from http://forums.gentoo.org/viewtopic-t-979802-start-25.html - ---- work/vmnet-only/filter.c 2013-08-27 20:29:04.000000000 +0100 -+++ patched/vmnet-only/filter.c 2014-01-26 01:09:05.184893854 +0000 -@@ -27,6 +27,7 @@ - #include "compat_module.h" - #include <linux/mutex.h> - #include <linux/netdevice.h> -+#include <linux/version.h> - #if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0) - # include <linux/module.h> - #else -@@ -203,7 +204,11 @@ - #endif - - static unsigned int -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) - VNetFilterHookFn(unsigned int hooknum, // IN: -+#else -+VNetFilterHookFn(const struct nf_hook_ops *ops, // IN: -+#endif - #ifdef VMW_NFHOOK_USES_SKB - struct sk_buff *skb, // IN: - #else -@@ -252,7 +257,12 @@ - - /* When the host transmits, hooknum is VMW_NF_INET_POST_ROUTING. */ - /* When the host receives, hooknum is VMW_NF_INET_LOCAL_IN. */ -- transmit = (hooknum == VMW_NF_INET_POST_ROUTING); -+ -+ #if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) -+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING); -+ #else -+ transmit = (ops->hooknum == VMW_NF_INET_POST_ROUTING); -+ #endif - - packetHeader = compat_skb_network_header(skb); - ip = (struct iphdr*)packetHeader; diff --git a/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch deleted file mode 100644 index b8ee07822021..000000000000 --- a/app-emulation/vmware-modules/files/271-3.15-00-readlink.patch +++ /dev/null @@ -1,15 +0,0 @@ -replacing usage of vfs_readlink with new readlink_copy API -see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090 - -diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c ---- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400 -+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400 -@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry, - return -EINVAL; - } - -- return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+ return readlink_copy(buffer, buflen, iinfo->name); - } - - diff --git a/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch deleted file mode 100644 index 9e8d9d1a32f7..000000000000 --- a/app-emulation/vmware-modules/files/271-3.15-01-vsock.patch +++ /dev/null @@ -1,46 +0,0 @@ -removing the no longer existing second parameter to sk_data_ready -doesn't seem it ever served a purpose. - -diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c ---- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400 -@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk, - vsk = vsock_sk(sk); - PKT_FIELD(vsk, sentWaitingRead) = FALSE; - #endif -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c ---- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400 -@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk, - struct sockaddr_vm *dst, // IN: unused - struct sockaddr_vm *src) // IN: unused - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct - } - - /* See the comment in VSockVmciNotifyPktSendPostEnqueue */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - return err; diff --git a/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch deleted file mode 100644 index e3ee3aa09939..000000000000 --- a/app-emulation/vmware-modules/files/271-3.17-00-netdev.patch +++ /dev/null @@ -1,16 +0,0 @@ -new alloc_netdev requires a new parameter. All examples in the kernel i've seen just -use the constant NET_NAME_UNKNOWN. -origionally from: https://communities.vmware.com/message/2425189 - -diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c ---- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500 -+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400 -@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN: - memcpy(deviceName, devName, sizeof deviceName); - NULL_TERMINATE_STRING(deviceName); - -- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup); -+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup); - if (!dev) { - retval = -ENOMEM; - goto out; diff --git a/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch b/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch deleted file mode 100644 index b4d30c97a59c..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-00-vmnet-warning.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rupN vmnet-only/vm_device_version.h vmnet-only.new/vm_device_version.h ---- vmnet-only/vm_device_version.h 2013-11-06 00:40:52.000000000 -0500 -+++ vmnet-only.new/vm_device_version.h 2015-05-05 12:03:06.879202223 -0400 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_NET 0x0720 diff --git a/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch b/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch deleted file mode 100644 index 178d1478ae59..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-01-vmblock-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -Sources: -https://531682.bugs.gentoo.org/attachment.cgi?id=396484 -https://531682.bugs.gentoo.org/attachment.cgi?id=396482 -diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500 -@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry - unsigned int flags) // IN: lookup flags & intent - { - VMBlockInodeInfo *iinfo; -- struct nameidata actualNd; -+ struct path actualNd; - struct dentry *actualDentry; - int ret; - -diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c ---- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500 -@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f - { - VMBlockInodeInfo *iinfo; - struct inode *inode; -- struct nameidata actualNd; -+ struct path actualNd; - - ASSERT(sb); - -diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h ---- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500 -@@ -26,21 +26,21 @@ - * struct. They were both replaced with a struct path. - */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry -+#define compat_vmw_nd_to_dentry(nd) (nd).dentry - #else - #define compat_vmw_nd_to_dentry(nd) (nd).dentry - #endif - - /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_path_release(nd) path_put(&(nd)->path) -+#define compat_path_release(nd) path_put(nd) - #else - #define compat_path_release(nd) path_release(nd) - #endif - - /* path_lookup was removed in 2.6.39 merge window VFS merge */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) --#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path)) -+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd) - #else - #define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd) - #endif -diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c ---- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500 -+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500 -@@ -92,7 +92,7 @@ - * and that would try to acquire the inode's semaphore; if the two inodes - * are the same we'll deadlock. - */ -- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { -+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) { - Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n"); - if (filp_close(actualFile, current->files) < 0) { - Warning("FileOpOpen: unable to close opened file.\n"); diff --git a/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch b/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch deleted file mode 100644 index a8ec2b11daf9..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-02-vmci.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c ---- vmci-only/linux/vmciKernelIf.c 2015-05-05 11:22:55.276071501 -0400 -+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:23:58.912074950 -0400 -@@ -40,6 +40,7 @@ - #include <linux/socket.h> /* For memcpy_{to,from}iovec(). */ - #include <linux/vmalloc.h> - #include <linux/wait.h> -+#include <linux/skbuff.h> - - #include "compat_highmem.h" - #include "compat_interrupt.h" -diff -rupN vmci-only/linux/vmciKernelIf.c vmci-only.new/linux/vmciKernelIf.c ---- vmci-only/linux/vmciKernelIf.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmci-only.new/linux/vmciKernelIf.c 2015-05-05 11:21:59.929068500 -0400 -@@ -1246,11 +1246,11 @@ __VMCIMemcpyFromQueue(void *dest, - } - - if (isIovec) { -- struct iovec *iov = (struct iovec *)dest; -+ struct msghdr *msg = dest; - int err; - - /* The iovec will track bytesCopied internally. */ -- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy); -+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy); - if (err != 0) { - kunmap(kernelIf->page[pageIndex]); - return VMCI_ERROR_INVALID_ARGS; - diff --git a/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch b/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch deleted file mode 100644 index 041bfb6a6210..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-03-vmnet.patch +++ /dev/null @@ -1,29 +0,0 @@ -diff -ur vmnet-only.orig/driver.c vmnet-only/driver.c ---- vmnet-only.orig/driver.c 2014-06-13 02:38:25.000000000 +0200 -+++ vmnet-only/driver.c 2015-02-21 17:31:22.630656305 +0100 -@@ -1236,8 +1236,8 @@ - struct inode *inode = NULL; - long err; - -- if (filp && filp->f_dentry) { -- inode = filp->f_dentry->d_inode; -+ if (filp && filp->f_path.dentry) { -+ inode = filp->f_path.dentry->d_inode; - } - err = VNetFileOpIoctl(inode, filp, iocmd, ioarg); - return err; -diff -ur vmnet-only.orig/userif.c vmnet-only/userif.c ---- vmnet-only.orig/userif.c 2014-06-13 02:38:25.000000000 +0200 -+++ vmnet-only/userif.c 2015-02-21 17:37:46.154589854 +0100 -@@ -523,7 +523,10 @@ - .iov_base = buf, - .iov_len = len, - }; -- return skb_copy_datagram_iovec(skb, 0, &iov, len); -+ struct iov_iter to; -+ -+ iov_iter_init(&to, READ, &iov, 1, len); -+ return skb_copy_datagram_iter(skb, 0, &to, len); - } - - diff --git a/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch deleted file mode 100644 index 8c9d3cb6dfe3..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-04-vsock.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400 -@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc - goto out; - } - -- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len); -+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); - - dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port); - dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port); diff --git a/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch b/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch deleted file mode 100644 index 2e412301d096..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-05-vsock.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400 -@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc - } - - /* Place the datagram payload in the user's iovec. */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) - err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen); -+#else -+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen); -+#endif - if (err) { - goto out; - } diff --git a/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch b/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch deleted file mode 100644 index 1849a378456e..000000000000 --- a/app-emulation/vmware-modules/files/271-3.19-06-vmci_qpair.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c ---- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400 -+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400 -@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio - * able to send. - */ - -- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov, -+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov, - len - totalWritten, 0); - if (written < 0) { - err = -ENOMEM; -@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio - } - - if (flags & MSG_PEEK) { -- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } else { -- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } - - if (read < 0) { diff --git a/app-emulation/vmware-modules/files/271-apic.patch b/app-emulation/vmware-modules/files/271-apic.patch deleted file mode 100644 index 66cd45933246..000000000000 --- a/app-emulation/vmware-modules/files/271-apic.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-filldir.patch b/app-emulation/vmware-modules/files/271-filldir.patch deleted file mode 100644 index 6eb1f315cd97..000000000000 --- a/app-emulation/vmware-modules/files/271-filldir.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c -index d7ac1f6..5499169 100644 ---- 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, - }; diff --git a/app-emulation/vmware-modules/files/271-hardened.patch b/app-emulation/vmware-modules/files/271-hardened.patch deleted file mode 100644 index ea1b0f300751..000000000000 --- a/app-emulation/vmware-modules/files/271-hardened.patch +++ /dev/null @@ -1,170 +0,0 @@ -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/files/271-makefile-include.patch b/app-emulation/vmware-modules/files/271-makefile-include.patch deleted file mode 100644 index 39c300030805..000000000000 --- a/app-emulation/vmware-modules/files/271-makefile-include.patch +++ /dev/null @@ -1,65 +0,0 @@ -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 deleted file mode 100644 index 1a647a3302d8..000000000000 --- a/app-emulation/vmware-modules/files/271-makefile-kernel-dir.patch +++ /dev/null @@ -1,85 +0,0 @@ -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 deleted file mode 100644 index 35231a3205e3..000000000000 --- a/app-emulation/vmware-modules/files/271-netdevice.patch +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index 6e76130fa165..000000000000 --- a/app-emulation/vmware-modules/files/271-putname.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-vfsfollowlink.patch b/app-emulation/vmware-modules/files/271-vfsfollowlink.patch deleted file mode 100644 index 13f600e39f33..000000000000 --- a/app-emulation/vmware-modules/files/271-vfsfollowlink.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Naur a/linux/inode.c b/linux/inode.c ---- 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) diff --git a/app-emulation/vmware-modules/files/271-vmmon.patch b/app-emulation/vmware-modules/files/271-vmmon.patch deleted file mode 100644 index f1979641a4d6..000000000000 --- a/app-emulation/vmware-modules/files/271-vmmon.patch +++ /dev/null @@ -1,44 +0,0 @@ -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-3.10-00-userns.patch b/app-emulation/vmware-modules/files/279-3.10-00-userns.patch deleted file mode 100644 index b1b78b76300e..000000000000 --- a/app-emulation/vmware-modules/files/279-3.10-00-userns.patch +++ /dev/null @@ -1,41 +0,0 @@ -correctly initializes UID/GID values -gets UID correctly in light of user namespace API -origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888 - ---- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100 -+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100 -@@ -135,7 +135,8 @@ - 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); - ---- a/vmci-only/linux/driver.c 2013-03-20 17:57:35.000000000 +0100 -+++ b/vmci-only/linux/driver.c 2013-03-20 17:57:43.000000000 +0100 -@@ -740,7 +740,7 @@ - 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); - ---- a/vsock-only/linux/af_vsock.c 2013-03-20 18:01:48.000000000 +0100 -+++ b/vsock-only/linux/af_vsock.c 2013-03-20 18:01:58.000000000 +0100 -@@ -2866,7 +2866,7 @@ - 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 --git a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch b/app-emulation/vmware-modules/files/279-3.10-01-getname.patch deleted file mode 100644 index 05ed8dbcc374..000000000000 --- a/app-emulation/vmware-modules/files/279-3.10-01-getname.patch +++ /dev/null @@ -1,24 +0,0 @@ -uses __getname/__putname instead of getname. getname was deprecated -the new code calls __getname (which really is a specific type of -memory allocator, then copies the string safely from user space -into the allocated buffer - ---- vmblock-only/linux/control.c 2014-03-15 15:28:40.871076076 +0100 -+++ vmblock-only/linux/control.c.new 2014-03-15 15:29:15.079074439 +0100 -@@ -279,11 +279,17 @@ - int i; - int retval; - -- name = getname(buf); -+ name = __getname(); - if (IS_ERR(name)) { - return PTR_ERR(name); - } - -+ i = strncpy_from_user(name, buf, PATH_MAX); -+ if (i < 0 || i == PATH_MAX) { -+ __putname(name); -+ return -EINVAL; -+ } -+ - for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { diff --git a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch b/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch deleted file mode 100644 index 98b28aabcdeb..000000000000 --- a/app-emulation/vmware-modules/files/279-3.10-03-deprecated.patch +++ /dev/null @@ -1,89 +0,0 @@ -undefines DEPRECATED which is unfortunately also defined (as a string) -in <linux/printk.h>. Realistically, this macro isn't even used, so this -doesn't matter much. But it hushes some very loud warnings. - -diff -rupN vmblock-only/shared/vm_assert.h vmblock-only.new/shared/vm_assert.h ---- vmblock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 -+++ vmblock-only.new/shared/vm_assert.h 2014-10-11 17:37:23.010352172 -0400 -@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED. %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmci-only/shared/vm_assert.h vmci-only.new/shared/vm_assert.h ---- vmci-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 -+++ vmci-only.new/shared/vm_assert.h 2014-10-11 17:37:08.936352130 -0400 -@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED. %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmmon-only/include/vm_assert.h vmmon-only.new/include/vm_assert.h ---- vmmon-only/include/vm_assert.h 2014-04-14 20:06:20.000000000 -0400 -+++ vmmon-only.new/include/vm_assert.h 2014-10-11 17:36:45.289352058 -0400 -@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED. %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vmnet-only/vm_assert.h vmnet-only.new/vm_assert.h ---- vmnet-only/vm_assert.h 2014-04-14 20:06:21.000000000 -0400 -+++ vmnet-only.new/vm_assert.h 2014-10-11 17:37:14.364352146 -0400 -@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED. %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - -diff -rupN vsock-only/shared/vm_assert.h vsock-only.new/shared/vm_assert.h ---- vsock-only/shared/vm_assert.h 2014-04-14 17:41:41.000000000 -0400 -+++ vsock-only.new/shared/vm_assert.h 2014-10-11 17:37:02.778352111 -0400 -@@ -251,11 +251,13 @@ void WarningThrottled(uint32 *count, con - #define LOG_ONCE(_s) DO_ONCE(Log _s) - - #ifdef VMX86_DEVEL -+ #undef DEPRECATED - #define DEPRECATED(_fix) DO_ONCE( \ - Warning("%s:%d: %s is DEPRECATED. %s\n", \ - __FILE__, __LINE__, __FUNCTION__, \ - _fix)) - #else -+ #undef DEPRECATED - #define DEPRECATED(_fix) do {} while (0) - #endif - diff --git a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch b/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch deleted file mode 100644 index f4f59d977408..000000000000 --- a/app-emulation/vmware-modules/files/279-3.10-04-dentry.patch +++ /dev/null @@ -1,34 +0,0 @@ -starting with kernel 3.6, d_revalidate takes an unsigned int "flags" -as the second argument, not a nameidata pointer! see fs/namei.c -for implementation - -diff -Naur vmblock-only/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only/linux/dentry.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2014-04-26 10:58:03.062635343 -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)) { diff --git a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch b/app-emulation/vmware-modules/files/279-3.10-05-inode.patch deleted file mode 100644 index 01c88930899c..000000000000 --- a/app-emulation/vmware-modules/files/279-3.10-05-inode.patch +++ /dev/null @@ -1,36 +0,0 @@ -starting with kernel 3.6, d_revalidate takes an unsigned int "flags" -as the second argument, not a nameidata pointer! see fs/namei.c -for implementation. Also changing vfs_follow_link to nd_set_link. -See: https://lkml.org/lkml/2013/9/9/236 - -diff -Naur vmblock-only/linux/inode.c vmblock-only/linux/inode.c ---- vmblock-only/linux/inode.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/inode.c 2014-04-26 10:58:03.063635343 -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,8 @@ - goto out; - } - -- ret = vfs_follow_link(nd, iinfo->name); -+ nd_set_link(nd, iinfo->name); -+ ret = 0; - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch b/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch deleted file mode 100644 index b8ee07822021..000000000000 --- a/app-emulation/vmware-modules/files/279-3.15-00-readlink.patch +++ /dev/null @@ -1,15 +0,0 @@ -replacing usage of vfs_readlink with new readlink_copy API -see: http://permalink.gmane.org/gmane.linux.kernel.commits.head/445090 - -diff -rupN vmblock-only/linux/inode.c vmblock-only/linux/inode.c ---- vmblock-only/linux/inode.c 2014-10-05 23:20:14.545218357 -0400 -+++ vmblock-only/linux/inode.c 2014-10-05 23:33:01.549259933 -0400 -@@ -178,7 +178,7 @@ InodeOpReadlink(struct dentry *dentry, - return -EINVAL; - } - -- return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+ return readlink_copy(buffer, buflen, iinfo->name); - } - - diff --git a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch b/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch deleted file mode 100644 index 9e8d9d1a32f7..000000000000 --- a/app-emulation/vmware-modules/files/279-3.15-01-vsock.patch +++ /dev/null @@ -1,46 +0,0 @@ -removing the no longer existing second parameter to sk_data_ready -doesn't seem it ever served a purpose. - -diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c ---- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400 -@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk, - vsk = vsock_sk(sk); - PKT_FIELD(vsk, sentWaitingRead) = FALSE; - #endif -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c ---- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400 -@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk, - struct sockaddr_vm *dst, // IN: unused - struct sockaddr_vm *src) // IN: unused - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct - } - - /* See the comment in VSockVmciNotifyPktSendPostEnqueue */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - return err; diff --git a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch b/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch deleted file mode 100644 index e3ee3aa09939..000000000000 --- a/app-emulation/vmware-modules/files/279-3.17-00-netdev.patch +++ /dev/null @@ -1,16 +0,0 @@ -new alloc_netdev requires a new parameter. All examples in the kernel i've seen just -use the constant NET_NAME_UNKNOWN. -origionally from: https://communities.vmware.com/message/2425189 - -diff -rupN vmnet-only/netif.c vmnet-only.new/netif.c ---- vmnet-only/netif.c 2013-11-06 00:40:52.000000000 -0500 -+++ vmnet-only.new/netif.c 2014-10-09 17:29:12.361307961 -0400 -@@ -149,7 +149,7 @@ VNetNetIf_Create(char *devName, // IN: - memcpy(deviceName, devName, sizeof deviceName); - NULL_TERMINATE_STRING(deviceName); - -- dev = alloc_netdev(sizeof *netIf, deviceName, VNetNetIfSetup); -+ dev = alloc_netdev(sizeof *netIf, deviceName, NET_NAME_USER, VNetNetIfSetup); - if (!dev) { - retval = -ENOMEM; - goto out; diff --git a/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch deleted file mode 100644 index 2d3882430580..000000000000 --- a/app-emulation/vmware-modules/files/279-3.18-00-version-redefined.patch +++ /dev/null @@ -1,24 +0,0 @@ ---- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 ---- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300 -+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 diff --git a/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch deleted file mode 100644 index ec73500e979c..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-00-compat-namei.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300 -@@ -21,6 +21,20 @@ - - #include <linux/namei.h> - -+/* Copy-n-paste from kernel's source/fs/namei.c */ -+struct nameidata { -+ struct path path; -+ struct qstr last; -+ struct path root; -+ struct inode *inode; /* path.dentry.d_inode */ -+ unsigned int flags; -+ unsigned seq, m_seq; -+ int last_type; -+ unsigned depth; -+ struct file *base; -+ char *saved_names[MAX_NESTED_LINKS + 1]; -+}; -+ - /* - * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata - * struct. They were both replaced with a struct path. diff --git a/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch b/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch deleted file mode 100644 index 6f11a520a447..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-01-dentry.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- a/vmnet-only/driver.c 2015-02-07 03:54:17.000000000 +0300 -+++ c/vmnet-only/driver.c 2015-02-24 03:58:06.043605137 +0300 -@@ -1191,8 +1191,8 @@ - struct inode *inode = NULL; - long err; - -- if (filp && filp->f_dentry) { -- inode = filp->f_dentry->d_inode; -+ if (filp && filp->f_path.dentry) { -+ inode = filp->f_path.dentry->d_inode; - } - err = VNetFileOpIoctl(inode, filp, iocmd, ioarg); - return err; diff --git a/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch deleted file mode 100644 index 178d1478ae59..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-02-vmblock-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -Sources: -https://531682.bugs.gentoo.org/attachment.cgi?id=396484 -https://531682.bugs.gentoo.org/attachment.cgi?id=396482 -diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500 -@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry - unsigned int flags) // IN: lookup flags & intent - { - VMBlockInodeInfo *iinfo; -- struct nameidata actualNd; -+ struct path actualNd; - struct dentry *actualDentry; - int ret; - -diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c ---- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500 -@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f - { - VMBlockInodeInfo *iinfo; - struct inode *inode; -- struct nameidata actualNd; -+ struct path actualNd; - - ASSERT(sb); - -diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h ---- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500 -@@ -26,21 +26,21 @@ - * struct. They were both replaced with a struct path. - */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry -+#define compat_vmw_nd_to_dentry(nd) (nd).dentry - #else - #define compat_vmw_nd_to_dentry(nd) (nd).dentry - #endif - - /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_path_release(nd) path_put(&(nd)->path) -+#define compat_path_release(nd) path_put(nd) - #else - #define compat_path_release(nd) path_release(nd) - #endif - - /* path_lookup was removed in 2.6.39 merge window VFS merge */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) --#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path)) -+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd) - #else - #define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd) - #endif -diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c ---- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500 -+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500 -@@ -92,7 +92,7 @@ - * and that would try to acquire the inode's semaphore; if the two inodes - * are the same we'll deadlock. - */ -- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { -+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) { - Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n"); - if (filp_close(actualFile, current->files) < 0) { - Warning("FileOpOpen: unable to close opened file.\n"); diff --git a/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch deleted file mode 100644 index b016fec1e652..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-03-iovec.patch +++ /dev/null @@ -1,19 +0,0 @@ ---- a/vmnet-only/userif.c 2015-02-07 03:54:17.000000000 +0300 -+++ c/vmnet-only/userif.c 2015-02-24 03:58:06.043605137 +0300 -@@ -523,7 +523,15 @@ - .iov_base = buf, - .iov_len = len, - }; -- return skb_copy_datagram_iovec(skb, 0, &iov, len); -+ -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) -+ return skb_copy_datagram_iovec(skb, 0, &iov, len); -+#else -+ struct iov_iter to; -+ iov_iter_init(&to, READ, &iov, 1, len); -+ return skb_copy_datagram_iter(skb, 0, &to, len); -+#endif - } - - diff --git a/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch deleted file mode 100644 index 9103c555663d..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-04-iovec.patch +++ /dev/null @@ -1,39 +0,0 @@ -diff -rupN vmci-only.old/linux/vmciKernelIf.c vmci-only/linux/vmciKernelIf.c ---- vmci-only.old/linux/vmciKernelIf.c 2015-04-28 18:05:56.000000000 +0000 -+++ vmci-only/linux/vmciKernelIf.c 2015-07-06 08:02:08.314262258 +0000 -@@ -40,6 +40,7 @@ - #include <linux/socket.h> /* For memcpy_{to,from}iovec(). */ - #include <linux/vmalloc.h> - #include <linux/wait.h> -+#include <linux/skbuff.h> - - #include "compat_highmem.h" - #include "compat_interrupt.h" -@@ -1227,11 +1228,11 @@ __VMCIMemcpyToQueue(VMCIQueue *queue, - } - - if (isIovec) { -- struct iovec *iov = (struct iovec *)src; -+ struct msghdr *msg = (struct msghdr *)src; - int err; - - /* The iovec will track bytesCopied internally. */ -- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy); -+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy); - if (err != 0) { - if (!kernelIf->isDataMapped) { - kunmap(kernelIf->page[pageIndex]); -@@ -1302,11 +1303,11 @@ __VMCIMemcpyFromQueue(void *dest, - } - - if (isIovec) { -- struct iovec *iov = (struct iovec *)dest; -+ struct msghdr *msg = (struct msghdr *)dest; - int err; - - /* The iovec will track bytesCopied internally. */ -- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy); -+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy); - if (err != 0) { - if (!kernelIf->isDataMapped) { - kunmap(kernelIf->page[pageIndex]); diff --git a/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch deleted file mode 100644 index 1849a378456e..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-05-vmci_qpair.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c ---- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400 -+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400 -@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio - * able to send. - */ - -- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov, -+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov, - len - totalWritten, 0); - if (written < 0) { - err = -ENOMEM; -@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio - } - - if (flags & MSG_PEEK) { -- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } else { -- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } - - if (read < 0) { diff --git a/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch deleted file mode 100644 index 2e412301d096..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-06-vsock.patch +++ /dev/null @@ -1,15 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400 -@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc - } - - /* Place the datagram payload in the user's iovec. */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) - err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen); -+#else -+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen); -+#endif - if (err) { - goto out; - } diff --git a/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch deleted file mode 100644 index 8c9d3cb6dfe3..000000000000 --- a/app-emulation/vmware-modules/files/279-3.19-07-vsock.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400 -@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc - goto out; - } - -- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len); -+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); - - dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port); - dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port); diff --git a/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch b/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch deleted file mode 100644 index e2ab8a15f16b..000000000000 --- a/app-emulation/vmware-modules/files/279-4.2-00-cookie.patch +++ /dev/null @@ -1,79 +0,0 @@ -See https://bugs.gentoo.org/show_bug.cgi?id=559602 -Patch by Mike Auty <ikelos@gentoo.org> - -diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c -index 4811abd..2cbc1f6 100644 ---- a/vmblock-only/linux/inode.c -+++ b/vmblock-only/linux/inode.c -@@ -38,7 +38,9 @@ - static struct dentry *InodeOpLookup(struct inode *dir, - 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) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else - static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -207,7 +209,12 @@ static void * - static int - #endif - InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink -- struct nameidata *nd) // OUT: stores result -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ void **cookie -+#else -+ struct nameidata *nd -+#endif -+ ) // OUT: stores result - { - int ret; - VMBlockInodeInfo *iinfo; -diff --git a/vmblock-only/linux/inode.c b/vmblock-only/linux/inode.c -index acb2803..4811abd 100644 ---- a/vmblock-only/linux/inode.c -+++ b/vmblock-only/linux/inode.c -@@ -199,7 +199,9 @@ InodeOpReadlink(struct dentry *dentry, // IN : dentry of symlink - *---------------------------------------------------------------------------- - */ - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char * -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void * - #else - static int -@@ -222,8 +224,12 @@ InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ return *cookie = (char *)(iinfo->name); -+#else - nd_set_link(nd, iinfo->name); - ret = 0; -+#endif - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -diff --git a/vmnet-only/vmnetInt.h b/vmnet-only/vmnetInt.h -index 23b5d19..d129f7b 100644 ---- a/vmnet-only/vmnetInt.h -+++ b/vmnet-only/vmnetInt.h -@@ -78,8 +78,13 @@ - - extern struct proto vmnet_proto; - #ifdef VMW_NETDEV_HAS_NET -+# if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) - # define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -- PF_NETLINK, _pri, &vmnet_proto) -+ PF_NETLINK, _pri, &vmnet_proto, 1) -+# else -+# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -+ PF_NETLINK, _pri, &vmnet_proto) -+# endif - #else - # define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1) - #endif diff --git a/app-emulation/vmware-modules/files/279-5.10-00-userns.patch b/app-emulation/vmware-modules/files/279-5.10-00-userns.patch deleted file mode 100644 index 7a1bb987fecd..000000000000 --- a/app-emulation/vmware-modules/files/279-5.10-00-userns.patch +++ /dev/null @@ -1,16 +0,0 @@ -correctly initializes UID/GID values -gets UID correctly in light of user namespace API -origionally from https://462666.bugs.gentoo.org/attachment.cgi?id=342888 - ---- a/vmblock-only/linux/inode.c 2013-03-20 17:37:48.000000000 +0100 -+++ b/vmblock-only/linux/inode.c 2013-03-20 17:41:22.000000000 +0100 -@@ -135,7 +135,8 @@ - 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 --git a/app-emulation/vmware-modules/files/279-apic.patch b/app-emulation/vmware-modules/files/279-apic.patch deleted file mode 100644 index 66cd45933246..000000000000 --- a/app-emulation/vmware-modules/files/279-apic.patch +++ /dev/null @@ -1,12 +0,0 @@ -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-filldir.patch b/app-emulation/vmware-modules/files/279-filldir.patch deleted file mode 100644 index 6eb1f315cd97..000000000000 --- a/app-emulation/vmware-modules/files/279-filldir.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff --git a/vmblock-only/linux/file.c b/vmblock-only/linux/file.c -index d7ac1f6..5499169 100644 ---- 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, - }; diff --git a/app-emulation/vmware-modules/files/279-hardened.patch b/app-emulation/vmware-modules/files/279-hardened.patch deleted file mode 100644 index cc3e04152877..000000000000 --- a/app-emulation/vmware-modules/files/279-hardened.patch +++ /dev/null @@ -1,113 +0,0 @@ -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-makefile-include.patch b/app-emulation/vmware-modules/files/279-makefile-include.patch deleted file mode 100644 index 39c300030805..000000000000 --- a/app-emulation/vmware-modules/files/279-makefile-include.patch +++ /dev/null @@ -1,65 +0,0 @@ -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 deleted file mode 100644 index 1a647a3302d8..000000000000 --- a/app-emulation/vmware-modules/files/279-makefile-kernel-dir.patch +++ /dev/null @@ -1,85 +0,0 @@ -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 deleted file mode 100644 index 35231a3205e3..000000000000 --- a/app-emulation/vmware-modules/files/279-netdevice.patch +++ /dev/null @@ -1,24 +0,0 @@ -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 deleted file mode 100644 index 6e76130fa165..000000000000 --- a/app-emulation/vmware-modules/files/279-putname.patch +++ /dev/null @@ -1,13 +0,0 @@ -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-vfsfollowlink.patch b/app-emulation/vmware-modules/files/279-vfsfollowlink.patch deleted file mode 100644 index 13f600e39f33..000000000000 --- a/app-emulation/vmware-modules/files/279-vfsfollowlink.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Naur a/linux/inode.c b/linux/inode.c ---- 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) diff --git a/app-emulation/vmware-modules/files/279-vmblock.patch b/app-emulation/vmware-modules/files/279-vmblock.patch deleted file mode 100644 index 0daf60355618..000000000000 --- a/app-emulation/vmware-modules/files/279-vmblock.patch +++ /dev/null @@ -1,23 +0,0 @@ -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/304-3.10-00-dentry.patch b/app-emulation/vmware-modules/files/304-3.10-00-dentry.patch deleted file mode 100644 index 5cc445fcadf9..000000000000 --- a/app-emulation/vmware-modules/files/304-3.10-00-dentry.patch +++ /dev/null @@ -1,43 +0,0 @@ -Minor change the API, now it just gets passed flags instead of a pointer to the nameidata ---- a/vmblock-only/linux/dentry.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/dentry.c 2015-02-24 03:58:06.038605919 +0300 -@@ -32,7 +32,11 @@ - #include "block.h" - - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); -+#else -+static int DentryOpRevalidate(struct dentry *dentry, unsigned int); -+#endif - - struct dentry_operations LinkDentryOps = { - .d_revalidate = DentryOpRevalidate, -@@ -58,9 +62,12 @@ - *---------------------------------------------------------------------------- - */ - --static int --DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating -- struct nameidata *nd) // IN: lookup flags & intent -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd) -+#else -+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags) -+#endif -+ - { - VMBlockInodeInfo *iinfo; - struct nameidata actualNd; -@@ -101,7 +108,11 @@ - if (actualDentry && - actualDentry->d_op && - actualDentry->d_op->d_revalidate) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+ return actualDentry->d_op->d_revalidate(actualDentry, flags); -+#else - return actualDentry->d_op->d_revalidate(actualDentry, nd); -+#endif - } - - if (compat_path_lookup(iinfo->name, 0, &actualNd)) { diff --git a/app-emulation/vmware-modules/files/304-3.10-01-inode.patch b/app-emulation/vmware-modules/files/304-3.10-01-inode.patch deleted file mode 100644 index e12d84d10e7b..000000000000 --- a/app-emulation/vmware-modules/files/304-3.10-01-inode.patch +++ /dev/null @@ -1,94 +0,0 @@ -Minor change the API, now it just gets passed flags instead of a pointer to the nameidata -Properly initializes UID/GID with repsect to namespaces -Some changes the readlink/setlink APIs ---- a/vmblock-only/linux/inode.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/inode.c 2015-02-24 03:58:06.039605762 +0300 -@@ -35,9 +35,15 @@ - - - /* Inode operations */ --static struct dentry *InodeOpLookup(struct inode *dir, -- struct dentry *dentry, struct nameidata *nd); -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd); - static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); -+#else -+static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int); -+static int InodeOpReadlink(struct dentry *, char __user *, int); -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else -@@ -49,12 +55,15 @@ - .lookup = InodeOpLookup, - }; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) - static struct inode_operations LinkInodeOps = { -+#else -+struct inode_operations LinkInodeOps = { -+#endif - .readlink = InodeOpReadlink, - .follow_link = InodeOpFollowlink, - }; - -- - /* - *---------------------------------------------------------------------------- - * -@@ -75,7 +84,11 @@ - 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 -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+ struct nameidata *nd) // IN: lookup intent and information -+#else -+ unsigned int flags) -+#endif - { - char *filename; - struct inode *inode; -@@ -135,7 +148,12 @@ - inode->i_size = INODE_TO_IINFO(inode)->nameLen; - inode->i_version = 1; - inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - inode->i_uid = inode->i_gid = 0; -+#else -+ inode->i_gid = make_kgid(current_user_ns(), 0); -+ inode->i_uid = make_kuid(current_user_ns(), 0); -+#endif - inode->i_op = &LinkInodeOps; - - d_add(dentry, inode); -@@ -177,7 +195,12 @@ - return -EINVAL; - } - -- return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99) -+ return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+#else -+ return readlink_copy(buffer, buflen, iinfo->name); -+#endif -+ - } - - -@@ -221,7 +244,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) -@@ -230,3 +253,4 @@ - return ret; - #endif - } -+ diff --git a/app-emulation/vmware-modules/files/304-3.10-02-control.patch b/app-emulation/vmware-modules/files/304-3.10-02-control.patch deleted file mode 100644 index 928835337511..000000000000 --- a/app-emulation/vmware-modules/files/304-3.10-02-control.patch +++ /dev/null @@ -1,57 +0,0 @@ -The API to create proc entries now takes the file ops structure directly, instead of being set after the fact -Using new __getname/__putname API ---- a/vmblock-only/linux/control.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/control.c 2015-02-24 03:58:06.038605919 +0300 -@@ -208,9 +208,11 @@ - 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 +220,10 @@ - return -EINVAL; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - controlProcEntry->proc_fops = &ControlFileOps; -+#endif -+ - return 0; - } - -@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf, - int i; - int retval; - -- name = getname(buf); -+ name = __getname(); - if (IS_ERR(name)) { - return PTR_ERR(name); - } - -+ i = strncpy_from_user(name, buf, PATH_MAX); -+ if (i < 0 || i == PATH_MAX) { -+ __putname(name); -+ return -EINVAL; -+ } -+ - for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { - name[i] = '\0'; - } - - retval = i < 0 ? -EINVAL : blockOp(name, blocker); - -- putname(name); -+ __putname(name); - - return retval; - } diff --git a/app-emulation/vmware-modules/files/304-3.10-03-inline.patch b/app-emulation/vmware-modules/files/304-3.10-03-inline.patch deleted file mode 100644 index fa8f36a35c29..000000000000 --- a/app-emulation/vmware-modules/files/304-3.10-03-inline.patch +++ /dev/null @@ -1,14 +0,0 @@ -Hushes a warning ---- a/vmmon-only/linux/driver.c 2015-02-07 03:54:16.000000000 +0300 -+++ c/vmmon-only/linux/driver.c 2015-02-24 03:58:06.042605293 +0300 -@@ -1328,7 +1328,9 @@ - *----------------------------------------------------------------------------- - */ - --__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 --git a/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch deleted file mode 100644 index b2f76d3e2b30..000000000000 --- a/app-emulation/vmware-modules/files/304-3.11-00-readdir.patch +++ /dev/null @@ -1,41 +0,0 @@ -replaces usage of vfs_readdir with iterate_dir. origionally found here: -https://bugs.gentoo.org/show_bug.cgi?id=508204 - -diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c ---- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400 -@@ -166,11 +166,9 @@ - - static int - FileOpReaddir(struct file *file, // IN -- void *dirent, // IN -- filldir_t filldir) // IN -+ struct dir_context *ctx) - { - int ret; -- FilldirInfo info; - struct file *actualFile; - - if (!file) { -@@ -184,11 +182,8 @@ - return -EINVAL; - } - -- info.filldir = filldir; -- info.dirent = dirent; -- - actualFile->f_pos = file->f_pos; -- ret = vfs_readdir(actualFile, Filldir, &info); -+ ret = iterate_dir(actualFile, ctx); - file->f_pos = actualFile->f_pos; - - return ret; -@@ -237,7 +232,7 @@ - - - struct file_operations RootFileOps = { -- .readdir = FileOpReaddir, -+ .iterate = FileOpReaddir, - .open = FileOpOpen, - .release = FileOpRelease, - }; diff --git a/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch deleted file mode 100644 index 2eec99b7c1f8..000000000000 --- a/app-emulation/vmware-modules/files/304-3.11-01-filldir.patch +++ /dev/null @@ -1,53 +0,0 @@ -simply remove the code for Filldir since it is no longer used with the new -iterate_dir API - -diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c ---- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400 -+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400 -@@ -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 */ - - /* diff --git a/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch b/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch deleted file mode 100644 index 9e8d9d1a32f7..000000000000 --- a/app-emulation/vmware-modules/files/304-3.15-00-vsock.patch +++ /dev/null @@ -1,46 +0,0 @@ -removing the no longer existing second parameter to sk_data_ready -doesn't seem it ever served a purpose. - -diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c ---- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400 -@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk, - vsk = vsock_sk(sk); - PKT_FIELD(vsk, sentWaitingRead) = FALSE; - #endif -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c ---- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400 -@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk, - struct sockaddr_vm *dst, // IN: unused - struct sockaddr_vm *src) // IN: unused - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct - } - - /* See the comment in VSockVmciNotifyPktSendPostEnqueue */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - return err; diff --git a/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch deleted file mode 100644 index 22d6325c9a90..000000000000 --- a/app-emulation/vmware-modules/files/304-3.18-00-version-redefined.patch +++ /dev/null @@ -1,25 +0,0 @@ -Hushes some (but not all warnings) relating to redefinitions of this define ---- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 ---- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300 -+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 diff --git a/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch deleted file mode 100644 index 0182077254a1..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-00-compat-namei.patch +++ /dev/null @@ -1,24 +0,0 @@ -A copy of this since it is no longer exported by the kernel headers ---- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300 -@@ -21,6 +21,20 @@ - - #include <linux/namei.h> - -+/* Copy-n-paste from kernel's source/fs/namei.c */ -+struct nameidata { -+ struct path path; -+ struct qstr last; -+ struct path root; -+ struct inode *inode; /* path.dentry.d_inode */ -+ unsigned int flags; -+ unsigned seq, m_seq; -+ int last_type; -+ unsigned depth; -+ struct file *base; -+ char *saved_names[MAX_NESTED_LINKS + 1]; -+}; -+ - /* - * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata - * struct. They were both replaced with a struct path. diff --git a/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch b/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch deleted file mode 100644 index 3e3be6542dda..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-01-dentry.patch +++ /dev/null @@ -1,14 +0,0 @@ -There is an level of abstrxtion in the newre API as of 3.19 here ---- a/vmnet-only/driver.c 2015-02-07 03:54:17.000000000 +0300 -+++ c/vmnet-only/driver.c 2015-02-24 03:58:06.043605137 +0300 -@@ -1191,8 +1191,8 @@ - struct inode *inode = NULL; - long err; - -- if (filp && filp->f_dentry) { -- inode = filp->f_dentry->d_inode; -+ if (filp && filp->f_path.dentry) { -+ inode = filp->f_path.dentry->d_inode; - } - err = VNetFileOpIoctl(inode, filp, iocmd, ioarg); - return err; diff --git a/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch deleted file mode 100644 index 178d1478ae59..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-02-vmblock-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -Sources: -https://531682.bugs.gentoo.org/attachment.cgi?id=396484 -https://531682.bugs.gentoo.org/attachment.cgi?id=396482 -diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500 -@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry - unsigned int flags) // IN: lookup flags & intent - { - VMBlockInodeInfo *iinfo; -- struct nameidata actualNd; -+ struct path actualNd; - struct dentry *actualDentry; - int ret; - -diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c ---- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500 -@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f - { - VMBlockInodeInfo *iinfo; - struct inode *inode; -- struct nameidata actualNd; -+ struct path actualNd; - - ASSERT(sb); - -diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h ---- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500 -@@ -26,21 +26,21 @@ - * struct. They were both replaced with a struct path. - */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry -+#define compat_vmw_nd_to_dentry(nd) (nd).dentry - #else - #define compat_vmw_nd_to_dentry(nd) (nd).dentry - #endif - - /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_path_release(nd) path_put(&(nd)->path) -+#define compat_path_release(nd) path_put(nd) - #else - #define compat_path_release(nd) path_release(nd) - #endif - - /* path_lookup was removed in 2.6.39 merge window VFS merge */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) --#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path)) -+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd) - #else - #define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd) - #endif -diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c ---- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500 -+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500 -@@ -92,7 +92,7 @@ - * and that would try to acquire the inode's semaphore; if the two inodes - * are the same we'll deadlock. - */ -- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { -+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) { - Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n"); - if (filp_close(actualFile, current->files) < 0) { - Warning("FileOpOpen: unable to close opened file.\n"); diff --git a/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch b/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch deleted file mode 100644 index 726d1173b3b3..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-03-iovec.patch +++ /dev/null @@ -1,20 +0,0 @@ -using new iterator based API, this matches exactly the changes made upstream as of vmware-modules-304.2 ---- a/vmnet-only/userif.c 2015-02-07 03:54:17.000000000 +0300 -+++ c/vmnet-only/userif.c 2015-02-24 03:58:06.043605137 +0300 -@@ -523,7 +523,15 @@ - .iov_base = buf, - .iov_len = len, - }; -- return skb_copy_datagram_iovec(skb, 0, &iov, len); -+ -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) -+ return skb_copy_datagram_iovec(skb, 0, &iov, len); -+#else -+ struct iov_iter to; -+ iov_iter_init(&to, READ, &iov, 1, len); -+ return skb_copy_datagram_iter(skb, 0, &to, len); -+#endif - } - - diff --git a/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch deleted file mode 100644 index 83f0cc8fcbbf..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-04-iovec.patch +++ /dev/null @@ -1,59 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. ---- a/vmci-only/linux/vmciKernelIf.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmci-only/linux/vmciKernelIf.c 2015-02-24 03:58:06.041605450 +0300 -@@ -40,6 +40,7 @@ - #include <linux/socket.h> /* For memcpy_{to,from}iovec(). */ - #include <linux/vmalloc.h> - #include <linux/wait.h> -+#include <linux/skbuff.h> - - #include "compat_highmem.h" - #include "compat_interrupt.h" -@@ -1196,21 +1197,21 @@ - } else { - toCopy = size - bytesCopied; - } -- -+ /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */ - if (isIovec) { -- struct iovec *iov = (struct iovec *)src; -- int err; -+ struct msghdr *msg = (struct msghdr *)src; -+ int err; - -- /* The iovec will track bytesCopied internally. */ -- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy); -- if (err != 0) { -- if (kernelIf->host) { -- kunmap(kernelIf->u.h.page[pageIndex]); -+ /* The iovec will track bytes_copied internally. */ -+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy); -+ if (err != 0) { -+ if (kernelIf->host) -+ kunmap(kernelIf->u.h.page[pageIndex]); -+ return VMCI_ERROR_INVALID_ARGS; - } -- return VMCI_ERROR_INVALID_ARGS; -- } -- } else { -- memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy); -+ } else { -+ memcpy((u8 *)va + pageOffset, -+ (u8 *)src + bytesCopied, toCopy); - } - - bytesCopied += toCopy; -@@ -1273,11 +1274,11 @@ - } - - if (isIovec) { -- struct iovec *iov = (struct iovec *)dest; -+ struct msghdr *msg = (struct msghdr *)dest; - int err; - - /* The iovec will track bytesCopied internally. */ -- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy); -+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy); - if (err != 0) { - if (kernelIf->host) { - kunmap(kernelIf->u.h.page[pageIndex]); diff --git a/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch deleted file mode 100644 index 4dec3c468206..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-05-vmci_qpair.patch +++ /dev/null @@ -1,25 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c ---- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400 -+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400 -@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio - * able to send. - */ - -- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov, -+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov, - len - totalWritten, 0); - if (written < 0) { - err = -ENOMEM; -@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio - } - - if (flags & MSG_PEEK) { -- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } else { -- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } - - if (read < 0) { diff --git a/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch deleted file mode 100644 index 9a2096e679a4..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-06-vsock.patch +++ /dev/null @@ -1,16 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400 -@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc - } - - /* Place the datagram payload in the user's iovec. */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) - err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen); -+#else -+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen); -+#endif - if (err) { - goto out; - } diff --git a/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch deleted file mode 100644 index 6aec2cd3d7b5..000000000000 --- a/app-emulation/vmware-modules/files/304-3.19-07-vsock.patch +++ /dev/null @@ -1,13 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400 -@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc - goto out; - } - -- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len); -+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); - - dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port); - dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port); diff --git a/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch b/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch deleted file mode 100644 index e6f2acbbb6a0..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-00-inode_op.patch +++ /dev/null @@ -1,45 +0,0 @@ -diff -rupN vmblock-only/linux/inode.c vmblock-only.new/linux/inode.c ---- vmblock-only/linux/inode.c 2016-03-16 21:24:25.771034759 -0400 -+++ vmblock-only.new/linux/inode.c 2016-03-16 21:26:22.697036311 -0400 -@@ -44,7 +44,9 @@ static struct dentry *InodeOpLookup(stru - static int InodeOpReadlink(struct dentry *, char __user *, int); - #endif - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else - static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -220,7 +222,9 @@ InodeOpReadlink(struct dentry *dentry, - * - *---------------------------------------------------------------------------- - */ -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie) -+#else - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void * - #else -@@ -228,6 +232,7 @@ static int - #endif - InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink - struct nameidata *nd) // OUT: stores result -+#endif - { - int ret; - VMBlockInodeInfo *iinfo; -@@ -244,7 +249,11 @@ InodeOpFollowlink(struct dentry *dentry, - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ return *cookie = (char *)(iinfo->name); -+#else - nd_set_link(nd, iinfo->name); -+#endif - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/304-4.2-01-inode.patch b/app-emulation/vmware-modules/files/304-4.2-01-inode.patch deleted file mode 100644 index 35a275bf3367..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-01-inode.patch +++ /dev/null @@ -1,46 +0,0 @@ ---- vmblock-only/linux/inode.c.orig 2015-09-28 01:11:08.000000000 +0300 -+++ vmblock-only/linux/inode.c 2015-09-28 01:14:32.318043465 +0300 -@@ -44,7 +44,9 @@ - static int InodeOpReadlink(struct dentry *, char __user *, int); - #endif - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else - static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -221,13 +223,15 @@ - *---------------------------------------------------------------------------- - */ - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) --static void * -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie) -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+static void * InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink -+ struct nameidata *nd) // OUT: stores result - #else --static int --#endif --InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink -+static int InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink - struct nameidata *nd) // OUT: stores result -+#endif - { - int ret; - VMBlockInodeInfo *iinfo; -@@ -244,7 +248,11 @@ - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ return *cookie = (char *)(iinfo->name); -+#else - nd_set_link(nd, iinfo->name); -+#endif - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch b/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch deleted file mode 100644 index 2296c060bff1..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-01-vmci_vmalloc.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c ---- vmci-only/linux/driver.c 2015-11-03 19:27:55.000000000 -0500 -+++ vmci-only.new/linux/driver.c 2016-03-16 21:30:47.646039829 -0400 -@@ -26,6 +26,9 @@ - - #include <linux/file.h> - #include <linux/fs.h> -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+#include <linux/vmalloc.h> -+#endif - #include <linux/init.h> - #if defined(__x86_64__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) - # include <linux/ioctl32.h> diff --git a/app-emulation/vmware-modules/files/304-4.2-02-vmnetInt.patch b/app-emulation/vmware-modules/files/304-4.2-02-vmnetInt.patch deleted file mode 100644 index 11c76d0423e3..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-02-vmnetInt.patch +++ /dev/null @@ -1,23 +0,0 @@ ---- vmnet-only/vmnetInt.h.orig 2015-05-31 16:40:39.000000000 +0300 -+++ vmnet-only/vmnetInt.h 2015-09-28 01:22:01.553054142 +0300 -@@ -78,12 +78,16 @@ - - extern struct proto vmnet_proto; - #ifdef VMW_NETDEV_HAS_NET --# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -- PF_NETLINK, _pri, &vmnet_proto) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -+ PF_NETLINK, _pri, &vmnet_proto, 1) - #else --# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1) -+# define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -+ PF_NETLINK, _pri, &vmnet_proto) -+#endif -+#else -+# define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1) - #endif -- - - #ifdef NF_IP_LOCAL_IN - #define VMW_NF_INET_LOCAL_IN NF_IP_LOCAL_IN diff --git a/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch b/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch deleted file mode 100644 index bdac109e6c60..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-02-vsock.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2016-03-16 21:31:24.582040320 -0400 -+++ vsock-only.new/linux/af_vsock.c 2016-03-16 21:37:22.140045067 -0400 -@@ -231,7 +231,16 @@ static int VSockVmciStreamSetsockopt(str - - static int VSockVmciStreamGetsockopt(struct socket *sock, int level, int optname, - char __user *optval, int __user * optlen); -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+static int VSockVmciDgramSendmsg( -+ struct socket *sock, struct msghdr *msg, size_t len); -+static int VSockVmciDgramRecvmsg(struct socket *sock, -+ struct msghdr *msg, size_t len, int flags); -+static int VSockVmciStreamSendmsg( -+ struct socket *sock, struct msghdr *msg, size_t len); -+static int VSockVmciStreamRecvmsg(struct socket *sock, -+ struct msghdr *msg, size_t len, int flags); -+#else - static int VSockVmciDgramSendmsg(struct kiocb *kiocb, - struct socket *sock, struct msghdr *msg, size_t len); - static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock, -@@ -240,6 +249,7 @@ static int VSockVmciStreamSendmsg(struct - struct socket *sock, struct msghdr *msg, size_t len); - static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock, - struct msghdr *msg, size_t len, int flags); -+#endif - - static int VSockVmciCreate( - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24) -@@ -4210,7 +4220,11 @@ VSockVmciShutdown(struct socket *sock, - */ - - static int -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+VSockVmciDgramSendmsg( -+#else - VSockVmciDgramSendmsg(struct kiocb *kiocb, // UNUSED -+#endif - struct socket *sock, // IN: socket to send on - struct msghdr *msg, // IN: message to send - size_t len) // IN: length of message -@@ -4540,7 +4554,11 @@ VSockVmciStreamGetsockopt(struct socket - */ - - static int -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+VSockVmciStreamSendmsg( -+#else - VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED -+#endif - struct socket *sock, // IN: socket to send on - struct msghdr *msg, // IN: message to send - size_t len) // IN: length of message -@@ -4709,7 +4727,11 @@ out: - */ - - static int -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+VSockVmciDgramRecvmsg( -+#else - VSockVmciDgramRecvmsg(struct kiocb *kiocb, // UNUSED -+#endif - struct socket *sock, // IN: socket to receive from - struct msghdr *msg, // IN/OUT: message to receive into - size_t len, // IN: length of receive buffer -@@ -4804,7 +4826,11 @@ out: - */ - - static int -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+VSockVmciStreamRecvmsg( -+#else - VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED -+#endif - struct socket *sock, // IN: socket to receive from - struct msghdr *msg, // IN/OUT: message to receive into - size_t len, // IN: length of receive buffer diff --git a/app-emulation/vmware-modules/files/304-4.2-03-af_vsock.patch b/app-emulation/vmware-modules/files/304-4.2-03-af_vsock.patch deleted file mode 100644 index 6155df425972..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-03-af_vsock.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- vsock-only/linux/af_vsock.c.orig 2015-09-28 01:26:51.354061029 +0300 -+++ vsock-only/linux/af_vsock.c 2015-09-28 01:25:11.196058649 +0300 -@@ -2826,7 +2826,9 @@ - * network namespace, and the option to zero the sock was dropped. - * - */ --#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto, 1); -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) - sk = sk_alloc(vsockVmciFamilyOps.family, priority, - vsockVmciProto.slab_obj_size, vsockVmciProto.slab); - #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) diff --git a/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch b/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch deleted file mode 100644 index a2504a6a15e3..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-03-vsock.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2016-03-16 21:38:01.401045589 -0400 -+++ vsock-only.new/linux/af_vsock.c 2016-03-16 21:39:32.529046799 -0400 -@@ -2836,7 +2836,9 @@ __VSockVmciCreate(struct net *net, - * network namespace, and the option to zero the sock was dropped. - * - */ --#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto, 1); -+#elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) - sk = sk_alloc(vsockVmciFamilyOps.family, priority, - vsockVmciProto.slab_obj_size, vsockVmciProto.slab); - #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) diff --git a/app-emulation/vmware-modules/files/304-4.2-04-driver.patch b/app-emulation/vmware-modules/files/304-4.2-04-driver.patch deleted file mode 100644 index 237aa2297a3a..000000000000 --- a/app-emulation/vmware-modules/files/304-4.2-04-driver.patch +++ /dev/null @@ -1,50 +0,0 @@ ---- vmci-only/linux/driver.c.orig 2015-09-28 01:33:04.416069896 +0300 -+++ vmci-only/linux/driver.c 2015-09-28 01:34:32.814071997 +0300 -@@ -26,6 +26,7 @@ - - #include <linux/file.h> - #include <linux/fs.h> -+#include <linux/vmalloc.h> - #include <linux/init.h> - #if defined(__x86_64__) && LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 12) - # include <linux/ioctl32.h> -@@ -713,7 +714,7 @@ - - case IOCTL_VMCI_INIT_CONTEXT: { - VMCIInitBlock initBlock; -- VMCIHostUser user; -+ uid_t user; - - retval = copy_from_user(&initBlock, (void *)ioarg, sizeof initBlock); - if (retval != 0) { -@@ -736,7 +736,11 @@ - goto init_release; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) - user = current_uid(); -+#else -+ user = from_kuid(&init_user_ns, current_uid()); -+#endif - retval = VMCIContext_InitContext(initBlock.cid, initBlock.flags, - 0 /* Unused */, vmciLinux->userVersion, - &user, &vmciLinux->context); - -@@ -1683,7 +1684,7 @@ - /* This should be last to make sure we are done initializing. */ - retval = pci_register_driver(&vmci_driver); - if (retval < 0) { -- vfree(data_buffer); -+ kvfree(data_buffer); - data_buffer = NULL; - return retval; - } -@@ -2470,7 +2471,7 @@ - - if (guestDeviceInit) { - pci_unregister_driver(&vmci_driver); -- vfree(data_buffer); -+ kvfree(data_buffer); - guestDeviceInit = FALSE; - } - diff --git a/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch b/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch deleted file mode 100644 index 32d960dfbcae..000000000000 --- a/app-emulation/vmware-modules/files/304-4.3-00-misc_deregister.patch +++ /dev/null @@ -1,34 +0,0 @@ -diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c ---- vmci-only/linux/driver.c 2016-03-16 21:59:30.229062702 -0400 -+++ vmci-only.new/linux/driver.c 2016-03-16 21:58:35.452061974 -0400 -@@ -2469,7 +2469,9 @@ vmci_init(void) - static void __exit - vmci_exit(void) - { -+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 2, 0) - int retval; -+#endif - - if (guestDeviceInit) { - pci_unregister_driver(&vmci_driver); - -diff -rupN vmci-only/linux/driver.c vmci-only.new/linux/driver.c ---- vmci-only/linux/driver.c 2016-03-16 21:53:24.184057841 -0400 -+++ vmci-only.new/linux/driver.c 2016-03-16 21:54:37.558058816 -0400 -@@ -2482,12 +2482,16 @@ vmci_exit(void) - - VMCI_HostCleanup(); - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+ misc_deregister(&linuxState.misc); -+#else - retval = misc_deregister(&linuxState.misc); - if (retval) { - Warning(LGPFX "Module %s: error unregistering\n", VMCI_MODULE_NAME); - } else { - Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME); - } -+#endif - - hostDeviceInit = FALSE; - } diff --git a/app-emulation/vmware-modules/files/304-4.5-00-get_link.patch b/app-emulation/vmware-modules/files/304-4.5-00-get_link.patch deleted file mode 100644 index 169fc71d9e22..000000000000 --- a/app-emulation/vmware-modules/files/304-4.5-00-get_link.patch +++ /dev/null @@ -1,67 +0,0 @@ -diff -rupN vmblock-only/linux/inode.c vmblock-only.new/linux/inode.c ---- vmblock-only/linux/inode.c 2016-03-16 22:22:00.470080630 -0400 -+++ vmblock-only.new/linux/inode.c 2016-03-16 22:23:33.016081859 -0400 -@@ -44,7 +44,9 @@ static struct dentry *InodeOpLookup(stru - static int InodeOpReadlink(struct dentry *, char __user *, int); - #endif - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+const char *InodeOpGetLink(struct dentry *dentry, struct inode *inode, struct delayed_call *done); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) - static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); - #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -63,7 +65,11 @@ static struct inode_operations LinkInode - struct inode_operations LinkInodeOps = { - #endif - .readlink = InodeOpReadlink, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+ .get_link = InodeOpGetLink, -+#else - .follow_link = InodeOpFollowlink, -+#endif - }; - - /* -@@ -222,7 +228,9 @@ InodeOpReadlink(struct dentry *dentry, - * - *---------------------------------------------------------------------------- - */ --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+const char *InodeOpGetLink(struct dentry *dentry, struct inode *inode, struct delayed_call *done) -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) - static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie) - #else - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -@@ -238,18 +246,28 @@ InodeOpFollowlink(struct dentry *dentry, - VMBlockInodeInfo *iinfo; - - if (!dentry) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+ ret = -ECHILD; -+#else - Warning("InodeOpReadlink: invalid args from kernel\n"); - ret = -EINVAL; -+#endif - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+ iinfo = INODE_TO_IINFO(inode); -+#else - iinfo = INODE_TO_IINFO(dentry->d_inode); -+#endif - if (!iinfo) { - ret = -EINVAL; - goto out; - } - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) -+ return (char *)(iinfo->name); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 2, 0) - return *cookie = (char *)(iinfo->name); - #else - nd_set_link(nd, iinfo->name); diff --git a/app-emulation/vmware-modules/files/304-apic.patch b/app-emulation/vmware-modules/files/304-apic.patch deleted file mode 100644 index 66cd45933246..000000000000 --- a/app-emulation/vmware-modules/files/304-apic.patch +++ /dev/null @@ -1,12 +0,0 @@ -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/304-hardened.patch b/app-emulation/vmware-modules/files/304-hardened.patch deleted file mode 100644 index cc3e04152877..000000000000 --- a/app-emulation/vmware-modules/files/304-hardened.patch +++ /dev/null @@ -1,113 +0,0 @@ -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/304-makefile-include.patch b/app-emulation/vmware-modules/files/304-makefile-include.patch deleted file mode 100644 index 39c300030805..000000000000 --- a/app-emulation/vmware-modules/files/304-makefile-include.patch +++ /dev/null @@ -1,65 +0,0 @@ -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/304-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/304-makefile-kernel-dir.patch deleted file mode 100644 index 1a647a3302d8..000000000000 --- a/app-emulation/vmware-modules/files/304-makefile-kernel-dir.patch +++ /dev/null @@ -1,85 +0,0 @@ -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/304-netdevice.patch b/app-emulation/vmware-modules/files/304-netdevice.patch deleted file mode 100644 index 35231a3205e3..000000000000 --- a/app-emulation/vmware-modules/files/304-netdevice.patch +++ /dev/null @@ -1,24 +0,0 @@ -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/308-3.10-00-dentry.patch b/app-emulation/vmware-modules/files/308-3.10-00-dentry.patch deleted file mode 100644 index 5cc445fcadf9..000000000000 --- a/app-emulation/vmware-modules/files/308-3.10-00-dentry.patch +++ /dev/null @@ -1,43 +0,0 @@ -Minor change the API, now it just gets passed flags instead of a pointer to the nameidata ---- a/vmblock-only/linux/dentry.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/dentry.c 2015-02-24 03:58:06.038605919 +0300 -@@ -32,7 +32,11 @@ - #include "block.h" - - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); -+#else -+static int DentryOpRevalidate(struct dentry *dentry, unsigned int); -+#endif - - struct dentry_operations LinkDentryOps = { - .d_revalidate = DentryOpRevalidate, -@@ -58,9 +62,12 @@ - *---------------------------------------------------------------------------- - */ - --static int --DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating -- struct nameidata *nd) // IN: lookup flags & intent -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd) -+#else -+static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags) -+#endif -+ - { - VMBlockInodeInfo *iinfo; - struct nameidata actualNd; -@@ -101,7 +108,11 @@ - if (actualDentry && - actualDentry->d_op && - actualDentry->d_op->d_revalidate) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0) -+ return actualDentry->d_op->d_revalidate(actualDentry, flags); -+#else - return actualDentry->d_op->d_revalidate(actualDentry, nd); -+#endif - } - - if (compat_path_lookup(iinfo->name, 0, &actualNd)) { diff --git a/app-emulation/vmware-modules/files/308-3.10-01-inode.patch b/app-emulation/vmware-modules/files/308-3.10-01-inode.patch deleted file mode 100644 index e12d84d10e7b..000000000000 --- a/app-emulation/vmware-modules/files/308-3.10-01-inode.patch +++ /dev/null @@ -1,94 +0,0 @@ -Minor change the API, now it just gets passed flags instead of a pointer to the nameidata -Properly initializes UID/GID with repsect to namespaces -Some changes the readlink/setlink APIs ---- a/vmblock-only/linux/inode.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/inode.c 2015-02-24 03:58:06.039605762 +0300 -@@ -35,9 +35,15 @@ - - - /* Inode operations */ --static struct dentry *InodeOpLookup(struct inode *dir, -- struct dentry *dentry, struct nameidata *nd); -+ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+static struct dentry *InodeOpLookup(struct inode *dir, struct dentry *dentry, struct nameidata *nd); - static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); -+#else -+static struct dentry *InodeOpLookup(struct inode *, struct dentry *, unsigned int); -+static int InodeOpReadlink(struct dentry *, char __user *, int); -+#endif -+ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else -@@ -49,12 +55,15 @@ - .lookup = InodeOpLookup, - }; - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 13, 0) - static struct inode_operations LinkInodeOps = { -+#else -+struct inode_operations LinkInodeOps = { -+#endif - .readlink = InodeOpReadlink, - .follow_link = InodeOpFollowlink, - }; - -- - /* - *---------------------------------------------------------------------------- - * -@@ -75,7 +84,11 @@ - 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 -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) -+ struct nameidata *nd) // IN: lookup intent and information -+#else -+ unsigned int flags) -+#endif - { - char *filename; - struct inode *inode; -@@ -135,7 +148,12 @@ - inode->i_size = INODE_TO_IINFO(inode)->nameLen; - inode->i_version = 1; - inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - inode->i_uid = inode->i_gid = 0; -+#else -+ inode->i_gid = make_kgid(current_user_ns(), 0); -+ inode->i_uid = make_kuid(current_user_ns(), 0); -+#endif - inode->i_op = &LinkInodeOps; - - d_add(dentry, inode); -@@ -177,7 +195,12 @@ - return -EINVAL; - } - -- return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+#if LINUX_VERSION_CODE <= KERNEL_VERSION(3, 14, 99) -+ return vfs_readlink(dentry, buffer, buflen, iinfo->name); -+#else -+ return readlink_copy(buffer, buflen, iinfo->name); -+#endif -+ - } - - -@@ -221,7 +244,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) -@@ -230,3 +253,4 @@ - return ret; - #endif - } -+ diff --git a/app-emulation/vmware-modules/files/308-3.10-02-control.patch b/app-emulation/vmware-modules/files/308-3.10-02-control.patch deleted file mode 100644 index 928835337511..000000000000 --- a/app-emulation/vmware-modules/files/308-3.10-02-control.patch +++ /dev/null @@ -1,57 +0,0 @@ -The API to create proc entries now takes the file ops structure directly, instead of being set after the fact -Using new __getname/__putname API ---- a/vmblock-only/linux/control.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/linux/control.c 2015-02-24 03:58:06.038605919 +0300 -@@ -208,9 +208,11 @@ - 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 +220,10 @@ - return -EINVAL; - } - -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 0) - controlProcEntry->proc_fops = &ControlFileOps; -+#endif -+ - return 0; - } - -@@ -287,18 +287,24 @@ ExecuteBlockOp(const char __user *buf, - int i; - int retval; - -- name = getname(buf); -+ name = __getname(); - if (IS_ERR(name)) { - return PTR_ERR(name); - } - -+ i = strncpy_from_user(name, buf, PATH_MAX); -+ if (i < 0 || i == PATH_MAX) { -+ __putname(name); -+ return -EINVAL; -+ } -+ - for (i = strlen(name) - 1; i >= 0 && name[i] == '/'; i--) { - name[i] = '\0'; - } - - retval = i < 0 ? -EINVAL : blockOp(name, blocker); - -- putname(name); -+ __putname(name); - - return retval; - } diff --git a/app-emulation/vmware-modules/files/308-3.10-03-inline.patch b/app-emulation/vmware-modules/files/308-3.10-03-inline.patch deleted file mode 100644 index fa8f36a35c29..000000000000 --- a/app-emulation/vmware-modules/files/308-3.10-03-inline.patch +++ /dev/null @@ -1,14 +0,0 @@ -Hushes a warning ---- a/vmmon-only/linux/driver.c 2015-02-07 03:54:16.000000000 +0300 -+++ c/vmmon-only/linux/driver.c 2015-02-24 03:58:06.042605293 +0300 -@@ -1328,7 +1328,9 @@ - *----------------------------------------------------------------------------- - */ - --__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 --git a/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch b/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch deleted file mode 100644 index b2f76d3e2b30..000000000000 --- a/app-emulation/vmware-modules/files/308-3.11-00-readdir.patch +++ /dev/null @@ -1,41 +0,0 @@ -replaces usage of vfs_readdir with iterate_dir. origionally found here: -https://bugs.gentoo.org/show_bug.cgi?id=508204 - -diff -Naur vmblock-only/linux/file.c vmblock-only/linux/file.c ---- vmblock-only/linux/file.c 2013-11-05 23:33:26.000000000 -0500 -+++ vmblock-only/linux/file.c 2014-04-26 10:58:03.062635343 -0400 -@@ -166,11 +166,9 @@ - - static int - FileOpReaddir(struct file *file, // IN -- void *dirent, // IN -- filldir_t filldir) // IN -+ struct dir_context *ctx) - { - int ret; -- FilldirInfo info; - struct file *actualFile; - - if (!file) { -@@ -184,11 +182,8 @@ - return -EINVAL; - } - -- info.filldir = filldir; -- info.dirent = dirent; -- - actualFile->f_pos = file->f_pos; -- ret = vfs_readdir(actualFile, Filldir, &info); -+ ret = iterate_dir(actualFile, ctx); - file->f_pos = actualFile->f_pos; - - return ret; -@@ -237,7 +232,7 @@ - - - struct file_operations RootFileOps = { -- .readdir = FileOpReaddir, -+ .iterate = FileOpReaddir, - .open = FileOpOpen, - .release = FileOpRelease, - }; diff --git a/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch b/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch deleted file mode 100644 index 2eec99b7c1f8..000000000000 --- a/app-emulation/vmware-modules/files/308-3.11-01-filldir.patch +++ /dev/null @@ -1,53 +0,0 @@ -simply remove the code for Filldir since it is no longer used with the new -iterate_dir API - -diff -rupN vmblock-only/linux/file.c vmblock-only.new/linux/file.c ---- vmblock-only/linux/file.c 2014-10-07 23:22:46.832469618 -0400 -+++ vmblock-only.new/linux/file.c 2014-10-07 23:24:35.276472720 -0400 -@@ -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 */ - - /* diff --git a/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch b/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch deleted file mode 100644 index 9e8d9d1a32f7..000000000000 --- a/app-emulation/vmware-modules/files/308-3.15-00-vsock.patch +++ /dev/null @@ -1,46 +0,0 @@ -removing the no longer existing second parameter to sk_data_ready -doesn't seem it ever served a purpose. - -diff -rupN vsock-only/linux/notify.c vsock-only.new/linux/notify.c ---- vsock-only/linux/notify.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notify.c 2014-10-05 23:46:47.943304728 -0400 -@@ -515,8 +515,11 @@ VSockVmciHandleWrote(struct sock *sk, - vsk = vsock_sk(sk); - PKT_FIELD(vsk, sentWaitingRead) = FALSE; - #endif -- -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -diff -rupN vsock-only/linux/notifyQState.c vsock-only.new/linux/notifyQState.c ---- vsock-only/linux/notifyQState.c 2013-11-05 23:33:27.000000000 -0500 -+++ vsock-only.new/linux/notifyQState.c 2014-10-05 23:46:33.231303931 -0400 -@@ -164,7 +164,11 @@ VSockVmciHandleWrote(struct sock *sk, - struct sockaddr_vm *dst, // IN: unused - struct sockaddr_vm *src) // IN: unused - { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - -@@ -566,7 +570,11 @@ VSockVmciNotifyPktRecvPostDequeue(struct - } - - /* See the comment in VSockVmciNotifyPktSendPostEnqueue */ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 15, 0) -+ sk->sk_data_ready(sk); -+#else - sk->sk_data_ready(sk, 0); -+#endif - } - - return err; diff --git a/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch b/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch deleted file mode 100644 index 22d6325c9a90..000000000000 --- a/app-emulation/vmware-modules/files/308-3.18-00-version-redefined.patch +++ /dev/null @@ -1,25 +0,0 @@ -Hushes some (but not all warnings) relating to redefinitions of this define ---- a/vmci-only/shared/vm_device_version.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmci-only/shared/vm_device_version.h 2015-02-24 03:58:06.041605450 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 ---- a/vmnet-only/vm_device_version.h 2015-02-07 03:54:16.000000000 +0300 -+++ c/vmnet-only/vm_device_version.h 2015-02-24 03:58:06.044604981 +0300 -@@ -53,7 +53,9 @@ - * VMware HD Audio codec - * VMware HD Audio controller - */ -+#ifndef PCI_VENDOR_ID_VMWARE - #define PCI_VENDOR_ID_VMWARE 0x15AD -+#endif - #define PCI_DEVICE_ID_VMWARE_SVGA2 0x0405 - #define PCI_DEVICE_ID_VMWARE_SVGA 0x0710 - #define PCI_DEVICE_ID_VMWARE_VGA 0x0711 diff --git a/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch b/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch deleted file mode 100644 index 0182077254a1..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-00-compat-namei.patch +++ /dev/null @@ -1,24 +0,0 @@ -A copy of this since it is no longer exported by the kernel headers ---- a/vmblock-only/shared/compat_namei.h 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmblock-only/shared/compat_namei.h 2015-02-24 03:51:25.235286047 +0300 -@@ -21,6 +21,20 @@ - - #include <linux/namei.h> - -+/* Copy-n-paste from kernel's source/fs/namei.c */ -+struct nameidata { -+ struct path path; -+ struct qstr last; -+ struct path root; -+ struct inode *inode; /* path.dentry.d_inode */ -+ unsigned int flags; -+ unsigned seq, m_seq; -+ int last_type; -+ unsigned depth; -+ struct file *base; -+ char *saved_names[MAX_NESTED_LINKS + 1]; -+}; -+ - /* - * In 2.6.25-rc2, dentry and mount objects were removed from the nameidata - * struct. They were both replaced with a struct path. diff --git a/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch b/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch deleted file mode 100644 index 178d1478ae59..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-02-vmblock-path.patch +++ /dev/null @@ -1,67 +0,0 @@ -Sources: -https://531682.bugs.gentoo.org/attachment.cgi?id=396484 -https://531682.bugs.gentoo.org/attachment.cgi?id=396482 -diff -rupN vmblock-only.orig/linux/dentry.c vmblock-only/linux/dentry.c ---- vmblock-only.orig/linux/dentry.c 2015-02-14 18:05:46.000000000 -0500 -+++ vmblock-only/linux/dentry.c 2015-02-14 18:09:59.000000000 -0500 -@@ -63,7 +63,7 @@ DentryOpRevalidate(struct dentry *dentry - unsigned int flags) // IN: lookup flags & intent - { - VMBlockInodeInfo *iinfo; -- struct nameidata actualNd; -+ struct path actualNd; - struct dentry *actualDentry; - int ret; - -diff -rupN vmblock-only.orig/linux/filesystem.c vmblock-only/linux/filesystem.c ---- vmblock-only.orig/linux/filesystem.c 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/linux/filesystem.c 2015-02-14 18:10:49.000000000 -0500 -@@ -322,7 +322,7 @@ Iget(struct super_block *sb, // IN: f - { - VMBlockInodeInfo *iinfo; - struct inode *inode; -- struct nameidata actualNd; -+ struct path actualNd; - - ASSERT(sb); - -diff -rupN vmblock-only.orig/shared/compat_namei.h vmblock-only/shared/compat_namei.h ---- vmblock-only.orig/shared/compat_namei.h 2014-11-20 19:29:15.000000000 -0500 -+++ vmblock-only/shared/compat_namei.h 2015-02-14 18:08:38.000000000 -0500 -@@ -26,21 +26,21 @@ - * struct. They were both replaced with a struct path. - */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_vmw_nd_to_dentry(nd) (nd).path.dentry -+#define compat_vmw_nd_to_dentry(nd) (nd).dentry - #else - #define compat_vmw_nd_to_dentry(nd) (nd).dentry - #endif - - /* In 2.6.25-rc2, path_release(&nd) was replaced with path_put(&nd.path). */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 25) --#define compat_path_release(nd) path_put(&(nd)->path) -+#define compat_path_release(nd) path_put(nd) - #else - #define compat_path_release(nd) path_release(nd) - #endif - - /* path_lookup was removed in 2.6.39 merge window VFS merge */ - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38) --#define compat_path_lookup(name, flags, nd) kern_path(name, flags, &((nd)->path)) -+#define compat_path_lookup(name, flags, nd) kern_path(name, flags, nd) - #else - #define compat_path_lookup(name, flags, nd) path_lookup(name, flags, nd) - #endif -diff -u vmblock-only.orig/linux/file.c vmblock-only/linux/file.c ---- vmblock-only.orig/linux/file.c 2015-02-11 12:18:29.000000000 -0500 -+++ vmblock-only/linux/file.c 2015-02-11 12:41:41.000000000 -0500 -@@ -92,7 +92,7 @@ - * and that would try to acquire the inode's semaphore; if the two inodes - * are the same we'll deadlock. - */ -- if (actualFile->f_dentry && inode == actualFile->f_dentry->d_inode) { -+ if (actualFile->f_path.dentry && inode == actualFile->f_path.dentry->d_inode) { - Warning("FileOpOpen: identical inode encountered, open cannot succeed.\n"); - if (filp_close(actualFile, current->files) < 0) { - Warning("FileOpOpen: unable to close opened file.\n"); diff --git a/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch b/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch deleted file mode 100644 index 83f0cc8fcbbf..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-04-iovec.patch +++ /dev/null @@ -1,59 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. ---- a/vmci-only/linux/vmciKernelIf.c 2015-02-07 03:11:55.000000000 +0300 -+++ c/vmci-only/linux/vmciKernelIf.c 2015-02-24 03:58:06.041605450 +0300 -@@ -40,6 +40,7 @@ - #include <linux/socket.h> /* For memcpy_{to,from}iovec(). */ - #include <linux/vmalloc.h> - #include <linux/wait.h> -+#include <linux/skbuff.h> - - #include "compat_highmem.h" - #include "compat_interrupt.h" -@@ -1196,21 +1197,21 @@ - } else { - toCopy = size - bytesCopied; - } -- -+ /* Code cloned from kernels drivers/misc/vmw_vmci/vmci_queue_pair.c */ - if (isIovec) { -- struct iovec *iov = (struct iovec *)src; -- int err; -+ struct msghdr *msg = (struct msghdr *)src; -+ int err; - -- /* The iovec will track bytesCopied internally. */ -- err = memcpy_fromiovec((uint8 *)va + pageOffset, iov, toCopy); -- if (err != 0) { -- if (kernelIf->host) { -- kunmap(kernelIf->u.h.page[pageIndex]); -+ /* The iovec will track bytes_copied internally. */ -+ err = memcpy_from_msg((u8 *)va + pageOffset, msg, toCopy); -+ if (err != 0) { -+ if (kernelIf->host) -+ kunmap(kernelIf->u.h.page[pageIndex]); -+ return VMCI_ERROR_INVALID_ARGS; - } -- return VMCI_ERROR_INVALID_ARGS; -- } -- } else { -- memcpy((uint8 *)va + pageOffset, (uint8 *)src + bytesCopied, toCopy); -+ } else { -+ memcpy((u8 *)va + pageOffset, -+ (u8 *)src + bytesCopied, toCopy); - } - - bytesCopied += toCopy; -@@ -1273,11 +1274,11 @@ - } - - if (isIovec) { -- struct iovec *iov = (struct iovec *)dest; -+ struct msghdr *msg = (struct msghdr *)dest; - int err; - - /* The iovec will track bytesCopied internally. */ -- err = memcpy_toiovec(iov, (uint8 *)va + pageOffset, toCopy); -+ err = memcpy_to_msg(msg, (uint8 *)va + pageOffset, toCopy); - if (err != 0) { - if (kernelIf->host) { - kunmap(kernelIf->u.h.page[pageIndex]); diff --git a/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch b/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch deleted file mode 100644 index 4dec3c468206..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-05-vmci_qpair.patch +++ /dev/null @@ -1,25 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only.old/linux/af_vsock.c vsock-only/linux/af_vsock.c ---- vsock-only.old/linux/af_vsock.c 2015-05-06 20:41:47.684046762 -0400 -+++ vsock-only/linux/af_vsock.c 2015-05-06 20:52:15.245080779 -0400 -@@ -4629,7 +4629,7 @@ VSockVmciStreamSendmsg(struct kiocb *kio - * able to send. - */ - -- written = vmci_qpair_enquev(vsk->qpair, msg->msg_iov, -+ written = vmci_qpair_enquev(vsk->qpair, &msg->msg_iter.iov, - len - totalWritten, 0); - if (written < 0) { - err = -ENOMEM; -@@ -4874,9 +4874,9 @@ VSockVmciStreamRecvmsg(struct kiocb *kio - } - - if (flags & MSG_PEEK) { -- read = vmci_qpair_peekv(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_peekv(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } else { -- read = vmci_qpair_dequev(vsk->qpair, msg->msg_iov, len - copied, 0); -+ read = vmci_qpair_dequev(vsk->qpair, &msg->msg_iter.iov, len - copied, 0); - } - - if (read < 0) { diff --git a/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch b/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch deleted file mode 100644 index 9a2096e679a4..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-06-vsock.patch +++ /dev/null @@ -1,16 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:31:35.710099711 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:36:33.260115840 -0400 -@@ -4727,7 +4727,11 @@ VSockVmciDgramRecvmsg(struct kiocb *kioc - } - - /* Place the datagram payload in the user's iovec. */ -+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 19, 0) - err = skb_copy_datagram_iovec(skb, sizeof *dg, msg->msg_iov, payloadLen); -+#else -+ err = skb_copy_datagram_iter(skb, sizeof *dg, &msg->msg_iter, payloadLen); -+#endif - if (err) { - goto out; - } diff --git a/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch b/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch deleted file mode 100644 index 6aec2cd3d7b5..000000000000 --- a/app-emulation/vmware-modules/files/308-3.19-07-vsock.patch +++ /dev/null @@ -1,13 +0,0 @@ -Some parts of the iovec API were replaced by the similar message API. Refactoring the code to use that. -diff -rupN vsock-only/linux/af_vsock.c vsock-only.new/linux/af_vsock.c ---- vsock-only/linux/af_vsock.c 2015-05-05 11:26:05.145081792 -0400 -+++ vsock-only.new/linux/af_vsock.c 2015-05-05 11:30:54.304097466 -0400 -@@ -4266,7 +4266,7 @@ VSockVmciDgramSendmsg(struct kiocb *kioc - goto out; - } - -- memcpy_fromiovec(VMCI_DG_PAYLOAD(dg), msg->msg_iov, len); -+ memcpy_from_msg(VMCI_DG_PAYLOAD(dg), msg, len); - - dg->dst = VMCI_MAKE_HANDLE(remoteAddr->svm_cid, remoteAddr->svm_port); - dg->src = VMCI_MAKE_HANDLE(vsk->localAddr.svm_cid, vsk->localAddr.svm_port); diff --git a/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch b/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch deleted file mode 100644 index 5735cd50650e..000000000000 --- a/app-emulation/vmware-modules/files/308-4.01-00-vsock.patch +++ /dev/null @@ -1,61 +0,0 @@ ---- vsock-only/linux/af_vsock.c 2015-05-03 00:55:58.955156116 +0200 -+++ vsock-only/linux/af_vsock.c.new 2015-05-03 01:01:14.305173750 +0200 -@@ -233,14 +233,10 @@ - static int VSockVmciStreamGetsockopt(struct socket *sock, int level, int optname, - char __user *optval, int __user * optlen); - --static int VSockVmciDgramSendmsg(struct kiocb *kiocb, -- struct socket *sock, struct msghdr *msg, size_t len); --static int VSockVmciDgramRecvmsg(struct kiocb *kiocb, struct socket *sock, -- struct msghdr *msg, size_t len, int flags); --static int VSockVmciStreamSendmsg(struct kiocb *kiocb, -- struct socket *sock, struct msghdr *msg, size_t len); --static int VSockVmciStreamRecvmsg(struct kiocb *kiocb, struct socket *sock, -- struct msghdr *msg, size_t len, int flags); -+static int VSockVmciDgramSendmsg(struct socket *sock, struct msghdr *msg, size_t len); -+static int VSockVmciDgramRecvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags); -+static int VSockVmciStreamSendmsg(struct socket *sock, struct msghdr *msg, size_t len); -+static int VSockVmciStreamRecvmsg(struct socket *sock, struct msghdr *msg, size_t len, int flags); - - static int VSockVmciCreate( - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 24) -@@ -4211,8 +4207,7 @@ - */ - - static int --VSockVmciDgramSendmsg(struct kiocb *kiocb, // UNUSED -- struct socket *sock, // IN: socket to send on -+VSockVmciDgramSendmsg(struct socket *sock, // IN: socket to send on - struct msghdr *msg, // IN: message to send - size_t len) // IN: length of message - { -@@ -4541,8 +4536,7 @@ - */ - - static int --VSockVmciStreamSendmsg(struct kiocb *kiocb, // UNUSED -- struct socket *sock, // IN: socket to send on -+VSockVmciStreamSendmsg(struct socket *sock, // IN: socket to send on - struct msghdr *msg, // IN: message to send - size_t len) // IN: length of message - { -@@ -4710,8 +4704,7 @@ - */ - - static int --VSockVmciDgramRecvmsg(struct kiocb *kiocb, // UNUSED -- struct socket *sock, // IN: socket to receive from -+VSockVmciDgramRecvmsg(struct socket *sock, // IN: socket to receive from - struct msghdr *msg, // IN/OUT: message to receive into - size_t len, // IN: length of receive buffer - int flags) // IN: receive flags -@@ -4803,8 +4796,7 @@ - */ - - static int --VSockVmciStreamRecvmsg(struct kiocb *kiocb, // UNUSED -- struct socket *sock, // IN: socket to receive from -+VSockVmciStreamRecvmsg(struct socket *sock, // IN: socket to receive from - struct msghdr *msg, // IN/OUT: message to receive into - size_t len, // IN: length of receive buffer - int flags) // IN: receive flags diff --git a/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch b/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch deleted file mode 100644 index 66609bff6308..000000000000 --- a/app-emulation/vmware-modules/files/308-4.02-00-nd_set_link.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- vmci-only/linux/driver.c 2015-02-07 01:11:55.000000000 +0100 -+++ vmci-only/linux/driver.c.new 2015-07-23 00:28:25.713804866 +0200 -@@ -37,6 +37,7 @@ - #include <linux/moduleparam.h> - #include <linux/poll.h> - #include <linux/smp.h> -+#include <linux/vmalloc.h> - - #include "compat_highmem.h" - #include "compat_interrupt.h" ---- vmblock-only/linux/inode.c 2015-08-23 00:34:11.959377109 +0200 -+++ vmblock-only/linux/inode.c.new 2015-08-23 00:37:49.839389292 +0200 -@@ -38,7 +38,9 @@ - static int InodeOpReadlink(struct dentry *, char __user *, int); - #endif - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) -+static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); - #else - static int InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -203,13 +205,19 @@ - *---------------------------------------------------------------------------- - */ - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) -+static const char * -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void * - #else - static int - #endif - InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) -+ void **cookie) // OUT: stores opaque pointer -+#else - struct nameidata *nd) // OUT: stores result -+#endif - { - int ret; - VMBlockInodeInfo *iinfo; -@@ -226,7 +234,11 @@ - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) -+ return *cookie = iinfo->name; -+#else - nd_set_link(nd, iinfo->name); -+#endif - - out: - #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) diff --git a/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch b/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch deleted file mode 100644 index 6437d6022a36..000000000000 --- a/app-emulation/vmware-modules/files/308-4.02-01-sk_alloc.patch +++ /dev/null @@ -1,22 +0,0 @@ ---- vmnet-only/vmnetInt.h 2015-05-28 01:46:53.023206897 +0200 -+++ vmnet-only/vmnetInt.h.new 2015-05-28 01:47:07.911207730 +0200 -@@ -79,7 +79,7 @@ - extern struct proto vmnet_proto; - #ifdef VMW_NETDEV_HAS_NET - # define compat_sk_alloc(_bri, _pri) sk_alloc(&init_net, \ -- PF_NETLINK, _pri, &vmnet_proto) -+ PF_NETLINK, _pri, &vmnet_proto, 0) - #else - # define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1) - #endif ---- vsock-only/linux/af_vsock.c 2015-05-28 01:50:03.553217551 +0200 -+++ vsock-only/linux/af_vsock.c.new 2015-05-28 01:54:55.248233862 +0200 -@@ -2829,7 +2829,7 @@ - #elif LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 24) - sk = sk_alloc(vsockVmciFamilyOps.family, priority, &vsockVmciProto, 1); - #else -- sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto); -+ sk = sk_alloc(net, vsockVmciFamilyOps.family, priority, &vsockVmciProto, 0); - #endif - if (!sk) { - return NULL; diff --git a/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch b/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch deleted file mode 100644 index b2d93a66db84..000000000000 --- a/app-emulation/vmware-modules/files/308-4.03-00-vmci-misc_deregister.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff -ru work.old/vmci-only/linux/driver.c work/vmci-only/linux/driver.c ---- work.old/vmci-only/linux/driver.c 2015-09-14 21:07:49.751696932 +0200 -+++ work/vmci-only/linux/driver.c 2015-09-14 22:10:48.015908198 +0200 -@@ -2467,8 +2467,6 @@ - static void __exit - vmci_exit(void) - { -- int retval; -- - if (guestDeviceInit) { - pci_unregister_driver(&vmci_driver); - vfree(data_buffer); -@@ -2480,12 +2478,8 @@ - - VMCI_HostCleanup(); - -- retval = misc_deregister(&linuxState.misc); -- if (retval) { -- Warning(LGPFX "Module %s: error unregistering\n", VMCI_MODULE_NAME); -- } else { -- Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME); -- } -+ misc_deregister(&linuxState.misc); -+ Log(LGPFX"Module %s: unloaded\n", VMCI_MODULE_NAME); - - hostDeviceInit = FALSE; - } diff --git a/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch b/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch deleted file mode 100644 index 9f0df66faa22..000000000000 --- a/app-emulation/vmware-modules/files/308-4.03-00-vmmon-misc_deregister.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -ru work.old/vmmon-only/linux/driver.c work/vmmon-only/linux/driver.c ---- work.old/vmmon-only/linux/driver.c 2015-08-14 22:39:49.000000000 +0200 -+++ work/vmmon-only/linux/driver.c 2015-09-14 22:11:06.807909249 +0200 -@@ -387,9 +387,7 @@ - #ifdef VMX86_DEVEL - unregister_chrdev(linuxState.major, linuxState.deviceName); - #else -- if (misc_deregister(&linuxState.misc)) { -- Warning("Module %s: error unregistering\n", linuxState.deviceName); -- } -+ misc_deregister(&linuxState.misc); - #endif - - Log("Module %s: unloaded\n", linuxState.deviceName); diff --git a/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch b/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch deleted file mode 100644 index c13929243275..000000000000 --- a/app-emulation/vmware-modules/files/308-4.05-00-vmblock-follow_link.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- vmblock-only/linux/inode.c 2016-01-30 19:13:04.019947435 +0100 -+++ vmblock-only/linux/inode.c.new 2016-01-30 19:13:56.226950354 +0100 -@@ -44,7 +44,9 @@ - static int InodeOpReadlink(struct dentry *, char __user *, int); - #endif - --#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+static const char *InodeOpFollowlink(struct dentry *dentry, struct inode *inode, void **cookie); -+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) - static const char *InodeOpFollowlink(struct dentry *dentry, void **cookie); - #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) - static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); -@@ -63,7 +65,11 @@ - struct inode_operations LinkInodeOps = { - #endif - .readlink = InodeOpReadlink, -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+ .get_link = InodeOpFollowlink, -+#else - .follow_link = InodeOpFollowlink, -+#endif - }; - - /* -@@ -231,6 +237,9 @@ - static int - #endif - InodeOpFollowlink(struct dentry *dentry, // IN : dentry of symlink -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+ struct inode *inode, -+#endif - #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 1, 99) - void **cookie) // OUT: stores opaque pointer - #else -@@ -241,12 +250,20 @@ - VMBlockInodeInfo *iinfo; - - if (!dentry) { -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+ ret = -ECHILD; -+#else - Warning("InodeOpReadlink: invalid args from kernel\n"); - ret = -EINVAL; -+#endif - goto out; - } - -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 99) -+ iinfo = INODE_TO_IINFO(inode); -+#else - iinfo = INODE_TO_IINFO(dentry->d_inode); -+#endif - if (!iinfo) { - ret = -EINVAL; - goto out; diff --git a/app-emulation/vmware-modules/files/308-apic.patch b/app-emulation/vmware-modules/files/308-apic.patch deleted file mode 100644 index 66cd45933246..000000000000 --- a/app-emulation/vmware-modules/files/308-apic.patch +++ /dev/null @@ -1,12 +0,0 @@ -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/308-hardened.patch b/app-emulation/vmware-modules/files/308-hardened.patch deleted file mode 100644 index 31d5917c37ce..000000000000 --- a/app-emulation/vmware-modules/files/308-hardened.patch +++ /dev/null @@ -1,89 +0,0 @@ -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,16 @@ 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, -+ .unlocked_ioctl = LinuxDriver_Ioctl, -+ .compat_ioctl = LinuxDriver_Ioctl, -+ .open = LinuxDriver_Open, -+ .release = LinuxDriver_Close, -+ .mmap = LinuxDriverMmap -+}; -+ - static struct timer_list tscTimer; - static Atomic_uint32 tsckHz; - static VmTimeStart tsckHzStartTime; -@@ -357,21 +372,6 @@ init_module(void) - linuxState.fastClockPriority = -20; - linuxState.swapSize = VMMON_UNKNOWN_SWAP_SIZE; - -- /* -- * 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; -- vmuser_fops.unlocked_ioctl = LinuxDriver_Ioctl; -- vmuser_fops.compat_ioctl = LinuxDriver_Ioctl; -- 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,16 @@ 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, -+ .unlocked_ioctl = VNetFileOpUnlockedIoctl, -+ .compat_ioctl = VNetFileOpUnlockedIoctl, -+ .open = VNetFileOpOpen, -+ .release = VNetFileOpClose -+}; - - /* - * Utility functions -@@ -476,22 +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; -- vnetFileOps.unlocked_ioctl = VNetFileOpUnlockedIoctl; -- vnetFileOps.compat_ioctl = VNetFileOpUnlockedIoctl; -- 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/308-makefile-include.patch b/app-emulation/vmware-modules/files/308-makefile-include.patch deleted file mode 100644 index 39c300030805..000000000000 --- a/app-emulation/vmware-modules/files/308-makefile-include.patch +++ /dev/null @@ -1,65 +0,0 @@ -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/308-makefile-kernel-dir.patch b/app-emulation/vmware-modules/files/308-makefile-kernel-dir.patch deleted file mode 100644 index 1a647a3302d8..000000000000 --- a/app-emulation/vmware-modules/files/308-makefile-kernel-dir.patch +++ /dev/null @@ -1,85 +0,0 @@ -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/308-netdevice.patch b/app-emulation/vmware-modules/files/308-netdevice.patch deleted file mode 100644 index 35231a3205e3..000000000000 --- a/app-emulation/vmware-modules/files/308-netdevice.patch +++ /dev/null @@ -1,24 +0,0 @@ -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/hardened.patch b/app-emulation/vmware-modules/files/hardened.patch deleted file mode 100644 index ea1b0f300751..000000000000 --- a/app-emulation/vmware-modules/files/hardened.patch +++ /dev/null @@ -1,170 +0,0 @@ -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 deleted file mode 100644 index dec09dcab00e..000000000000 --- a/app-emulation/vmware-modules/metadata.xml +++ /dev/null @@ -1,16 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>vmware@gentoo.org</email> - <name>Gentoo VMware Project</name> - </maintainer> - <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-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild deleted file mode 100644 index 68aa1dae9529..000000000000 --- a/app-emulation/vmware-modules/vmware-modules-271.3-r1.ebuild +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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 -mavx -mpclmul -maes - - 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}/${PV_MAJOR}-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-00-userns.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-create_proc_entry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-getname.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-unused-typedef.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-dentry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-06-inode.patch" - - # fixes a memcpy/memcmp bug in the hub code - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-07-hub.patch" - - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch" - kernel_is ge 3 13 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.13-00-vmnet.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch" - kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch" - - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-vmnet-warning.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-vmblock-path.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmci.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-vmnet.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vmci_qpair.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.6.ebuild b/app-emulation/vmware-modules/vmware-modules-279.6.ebuild deleted file mode 100644 index 9543d955b8b8..000000000000 --- a/app-emulation/vmware-modules/vmware-modules-279.6.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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 -mavx -mpclmul -maes - - 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 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-5.10-00-userns.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-getname.patch" - #kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-deprecated.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-04-dentry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-05-inode.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-filldir.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-readlink.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-01-vsock.patch" - kernel_is ge 3 17 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.17-00-netdev.patch" - kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-00-cookie.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-304.2.ebuild b/app-emulation/vmware-modules/vmware-modules-304.2.ebuild deleted file mode 100644 index 64f231386494..000000000000 --- a/app-emulation/vmware-modules/vmware-modules-304.2.ebuild +++ /dev/null @@ -1,116 +0,0 @@ -# Copyright 1999-2015 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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" -IUSE="pax_kernel +vmci +vsock" - -RDEPEND="" -DEPEND="${RDEPEND} - || ( =app-emulation/vmware-player-7.1.${PV_MINOR}* - =app-emulation/vmware-workstation-11.1.${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 -mavx -mpclmul -maes - - 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}/${PV_MAJOR}-hardened.patch" - epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" - - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch" - kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch" - #kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch" - #kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-01-inode.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-02-vmnetInt.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-03-af_vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-04-driver.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-304.3-r1.ebuild b/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild deleted file mode 100644 index 461d897ea8c7..000000000000 --- a/app-emulation/vmware-modules/vmware-modules-304.3-r1.ebuild +++ /dev/null @@ -1,118 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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" -IUSE="pax_kernel +vmci +vsock" - -RDEPEND="" -DEPEND="${RDEPEND} - || ( =app-emulation/vmware-player-7.1.${PV_MINOR}* - =app-emulation/vmware-workstation-11.1.${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}/${PV_MAJOR}-hardened.patch" - epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" - - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch" - kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch" - #kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-01-dentry.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch" - #kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-03-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-00-inode_op.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-01-vmci_vmalloc.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-02-vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.2-03-vsock.patch" - kernel_is ge 4 3 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.3-00-misc_deregister.patch" - kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.5-00-get_link.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-308.1.0.ebuild b/app-emulation/vmware-modules/vmware-modules-308.1.0.ebuild deleted file mode 100644 index 8c5f3412c69b..000000000000 --- a/app-emulation/vmware-modules/vmware-modules-308.1.0.ebuild +++ /dev/null @@ -1,149 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 - -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-3) - -DESCRIPTION="VMware kernel modules" -HOMEPAGE="http://www.vmware.com/" - -SRC_URI="" - -LICENSE="GPL-2" -SLOT="0" -KEYWORDS="~amd64" -IUSE="pax_kernel +vmci +vsock" -REQUIRED_USE="!vsock? ( !vmci )" - -RDEPEND="" -DEPEND="${RDEPEND} - || ( =app-emulation/vmware-player-12.${PV_MINOR}* - =app-emulation/vmware-workstation-12.${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 -mavx -mpclmul -maes - append-cflags -mno-sse # Found a problem similar to bug #492964 - - 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}/${PV_MAJOR}-hardened.patch" - epatch "${FILESDIR}/${PV_MAJOR}-apic.patch" - - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-00-dentry.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-01-inode.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-02-control.patch" - kernel_is ge 3 10 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.10-03-inline.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-00-readdir.patch" - kernel_is ge 3 11 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.11-01-filldir.patch" - kernel_is ge 3 15 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.15-00-vsock.patch" - kernel_is ge 3 18 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.18-00-version-redefined.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-00-compat-namei.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-02-vmblock-path.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-04-iovec.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-05-vmci_qpair.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-06-vsock.patch" - kernel_is ge 3 19 0 && epatch "${FILESDIR}/${PV_MAJOR}-3.19-07-vsock.patch" - kernel_is ge 4 1 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.01-00-vsock.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.02-00-nd_set_link.patch" - kernel_is ge 4 2 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.02-01-sk_alloc.patch" - kernel_is ge 4 3 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.03-00-vmci-misc_deregister.patch" - kernel_is ge 4 5 0 && epatch "${FILESDIR}/${PV_MAJOR}-4.05-00-vmblock-follow_link.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}" - - if ! use vmci ; then - dodir /etc/modprobe.d/ - - cat > "${D}"/etc/modprobe.d/vmware.conf <<-EOF - # Support for vmware vmci in kernel module - alias vmci vmw_vmci - EOF - - export installed_modprobe_conf=1 - fi - if ! use vsock ; then - dodir /etc/modprobe.d/ - cat >> "${D}"/etc/modprobe.d/vmware.conf <<-EOF - # Support for vmware vsock in kernel module - alias vsock vmw_vsock_vmci_transport - EOF - - export installed_modprobe_conf=1 - fi -} - -pkg_postinst() { - linux-mod_pkg_postinst - if [ "${installed_modprobe_conf}"x == "x" ] ; then - if [ -f "${ROOT}/etc/modprobe.d/vmware.conf" ] ; then - ewarn "Please check the /etc/modprobe.d/vmware.conf file and" - ewarn "possible conflicts when using vmci and/or vsock modules built" - ewarn "out of kernel" - fi - fi -} |