Использование этого vmnet313.patch, включающего несколько исправлений опечаток (см. Ответ @ nonsleepr), решило мою проблему с обновлением с 9.0.2 до 9.02.4 в Ubuntu 14.04.4 LTS 64-bit Desktop.
Этот фрагмент является содержимым pastebin.com/raw.php?i=p3bkbAMu ; но с двумя исправленными опечатками в самом конце.
--- vmnet-only/filter.c 2013-10-18 23:11:55.000000000 +0400
+++ vmnet-only/filter.c 2013-12-03 04:16:31.751352170 +0400
@@ -27,6 +27,7 @@
#include "compat_module.h"
#include
#include
+#include
#if COMPAT_LINUX_VERSION_CHECK_LT(3, 2, 0)
# include
#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,14 @@
/* 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;
Я думаю, что единственное решение - переустановить 12.04 и / или попросить разработчиков расширений обновить свои расширения.