--- ./vsock-only/shared/compat_completion.h.old 2010-11-10 00:23:18.320499001 +0100 +++ ./vsock-only/shared/compat_completion.h 2010-11-10 00:25:58.520499001 +0100 @@ -159,7 +159,7 @@ #include "compat_semaphore.h" #define compat_completion struct semaphore -#define compat_init_completion(comp) init_MUTEX_LOCKED(comp) +#define compat_init_completion(comp) sema_init(comp, 0) #define COMPAT_DECLARE_COMPLETION(comp) DECLARE_MUTEX_LOCKED(comp) #define compat_wait_for_completion(comp) do { \ --- ./vmmon-only/include/compat_completion.h.old 2010-11-10 00:23:18.317499001 +0100 +++ ./vmmon-only/include/compat_completion.h 2010-11-10 00:25:35.377499001 +0100 @@ -159,7 +159,7 @@ #include "compat_semaphore.h" #define compat_completion struct semaphore -#define compat_init_completion(comp) init_MUTEX_LOCKED(comp) +#define compat_init_completion(comp) sema_init(comp, 0) #define COMPAT_DECLARE_COMPLETION(comp) DECLARE_MUTEX_LOCKED(comp) #define compat_wait_for_completion(comp) do { \ --- ./vmci-only/linux/driver.c.old 2010-11-10 00:23:18.316499001 +0100 +++ ./vmci-only/linux/driver.c 2010-11-10 00:25:13.786499001 +0100 @@ -360,7 +360,7 @@ memset(vmciLinux, 0, sizeof *vmciLinux); vmciLinux->ctType = VMCIOBJ_NOT_SET; #if defined(HAVE_COMPAT_IOCTL) || defined(HAVE_UNLOCKED_IOCTL) - init_MUTEX(&vmciLinux->lock); + sema_init(&vmciLinux->lock, 1); #endif filp->private_data = vmciLinux; --- ./vmblock-only/shared/compat_completion.h.old 2010-11-10 00:23:18.316499001 +0100 +++ ./vmblock-only/shared/compat_completion.h 2010-11-10 00:23:56.180499001 +0100 @@ -159,7 +159,7 @@ #include "compat_semaphore.h" #define compat_completion struct semaphore -#define compat_init_completion(comp) init_MUTEX_LOCKED(comp) +#define compat_init_completion(comp) sema_init(comp, 0) #define COMPAT_DECLARE_COMPLETION(comp) DECLARE_MUTEX_LOCKED(comp) #define compat_wait_for_completion(comp) do { \ --- ./vmnet-only/filter.c.old 2010-11-10 00:42:31.171499001 +0100 +++ ./vmnet-only/filter.c 2010-11-10 00:42:45.778499001 +0100 @@ -76,7 +76,7 @@ RuleSet *activeRule = NULL; /* actual rule set for filter callback to use */ /* locks to protect against concurrent accesses. */ -static DECLARE_MUTEX(filterIoctlSem); /* serialize ioctl()s from user space. */ +static DEFINE_SEMAPHORE(filterIoctlSem); /* serialize ioctl()s from user space. */ /* * user/netfilter hook concurrency lock. * This spinlock doesn't scale well if/when in the future the netfilter --- ./vsock-only/linux/af_vsock.c.old 2010-11-10 00:45:00.054499001 +0100 +++ ./vsock-only/linux/af_vsock.c 2010-11-10 00:45:27.821499001 +0100 @@ -421,7 +421,7 @@ VSockPacket pkt; } VSockRecvPktInfo; -static DECLARE_MUTEX(registrationMutex); +static DEFINE_SEMAPHORE(registrationMutex); static int devOpenCount = 0; static int vsockVmciSocketCount = 0; #ifdef VMX86_TOOLS --- ./vmnet-only/driver.c.old 2010-11-10 00:50:19.268499001 +0100 +++ ./vmnet-only/driver.c 2010-11-10 00:50:36.699499001 +0100 @@ -117,7 +117,7 @@ * For change to peer field you must own both * vnetStructureSemaphore and vnetPeerLock for write. */ -DECLARE_MUTEX(vnetStructureSemaphore); +DEFINE_SEMAPHORE(vnetStructureSemaphore); #if defined(VM_X86_64) && !defined(HAVE_COMPAT_IOCTL) /*