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 < 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;
Recent Comments