diff --git a/bridge.c b/bridge.c index cdf9e0b..de78618 100644 --- a/bridge.c +++ b/bridge.c @@ -275,7 +275,11 @@ VNetBridgeDevCompatible(VNetBridge *bridge, // IN: Bridge struct net_device *net) // IN: Network device { #ifdef VMW_NETDEV_HAS_NET +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26) + if (dev_net(net) != dev_net(bridge->internalDev)) { +#else if (net->nd_net != bridge->internalDev->nd_net) { +#endif return 0; } #endif diff --git a/compat_semaphore.h b/compat_semaphore.h index a3a88c2..c3038d7 100644 --- a/compat_semaphore.h +++ b/compat_semaphore.h @@ -6,7 +6,11 @@ # define __COMPAT_SEMAPHORE_H__ +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 27) +#include +#else #include +#endif /* diff --git a/procfs.c b/procfs.c index 07e894d..73d31e8 100644 --- a/procfs.c +++ b/procfs.c @@ -63,7 +63,7 @@ VNetProc_Init(void) { int retval; - retval = VNetProc_MakeEntry(&proc_root, "vmnet", S_IFDIR, &base); + retval = VNetProc_MakeEntry(NULL, "vmnet", S_IFDIR, &base); if (retval) { return retval; } @@ -95,7 +95,7 @@ VNetProc_Init(void) void VNetProc_Cleanup(void) { - VNetProc_RemoveEntry(base, &proc_root); + VNetProc_RemoveEntry(base, NULL); base = NULL; } diff --git a/vmnetInt.h b/vmnetInt.h index 483c457..2328ec6 100644 --- a/vmnetInt.h +++ b/vmnetInt.h @@ -63,7 +63,11 @@ # define dev_lock_list() read_lock(&dev_base_lock) # define dev_unlock_list() read_unlock(&dev_base_lock) # ifdef VMW_NETDEV_HAS_NET +# if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) # define DEV_GET(x) __dev_get_by_name((x)->internalDev->nd_net, (x)->name) +# else +# define DEV_GET(x) __dev_get_by_name(dev_net((x)->internalDev), (x)->name) +# endif # else # define DEV_GET(x) __dev_get_by_name((x)->name) # endif @@ -87,8 +91,13 @@ #ifdef VMW_NETDEV_HAS_NET extern struct proto vmnet_proto; +# if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 26) +# define compat_sk_alloc(_bri, _pri) sk_alloc(dev_net((_bri)->internalDev), \ + PF_NETLINK, _pri, &vmnet_proto) +# else # define compat_sk_alloc(_bri, _pri) sk_alloc((_bri)->internalDev->nd_net, \ PF_NETLINK, _pri, &vmnet_proto) +# endif #elif defined(VMW_HAVE_SK_ALLOC_WITH_PROTO) extern struct proto vmnet_proto; # define compat_sk_alloc(_bri, _pri) sk_alloc(PF_NETLINK, _pri, &vmnet_proto, 1)