Vmware Workstation 10.x patch for Linux kernel 3.13

Vmware Workstation breaks if you try using upcoming Linux kernel release’s and at the same time, VMWare community moves fast to push a quick patches to applied for those who dare to use cutting edge beta OS on their machines.

WoodyZ on https://communities.vmware.com provides a patch which just works for Linux Kernel 3.13.

Here is the patch provided from WoodyZ for your quick reference.

Apply the patch to /usr/lib/vmware/modules/source/vmnet.tar (Extract, apply the patch using patch command, compress the files back to vmnet.tar) and run vmware workstation again.

 

--- vmnet-only/filter.c 2013-10-18 15:11:55.000000000 -0400
+++ vmnet-only/filter.c 2013-12-21 20:15:15.000000000 -0500
@@ -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</code>

static unsigned int
+#if LINUX_VERSION_CODE &lt; 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 &lt; KERNEL_VERSION(3, 13, 0)
+ transmit = (hooknum == VMW_NF_INET_POST_ROUTING);
+#else
+ transmit = (ops-&gt;hooknum == VMW_NF_INET_POST_ROUTING);
+#endif

packetHeader = compat_skb_network_header(skb);
ip = (struct iphdr*)packetHeader;

Published by

Omshivaprakash

Gnu/Linux Enthusiast, Kannadiga, Wikipedian, Amateur photographer, trekker and more

Leave a Reply

Your email address will not be published. Required fields are marked *