I followed these instructions in the VM I just updated from Ubuntu 64-bit 12.10 to 13.04, and they worked for me! The modules compiled successfully, and shared folders now work.
Before doing so, however, I too examined the source code differences, which are relatively minor and appear to be safe:
myk@ubuntu:~/Downloads$ diff -ur foo bar diff -ur foo/vmci-only/linux/driver.c bar/vmci-only/linux/driver.c --- foo/vmci-only/linux/driver.c 2012-10-31 16:59:58.000000000 -0700 +++ bar/vmci-only/linux/driver.c 2013-05-29 23:30:55.000000000 -0700 @@ -124,7 +124,8 @@ .name = "vmci", .id_table = vmci_ids, .probe = vmci_probe_device, - .remove = __devexit_p(vmci_remove_device), +// .remove = __devexit_p(vmci_remove_device), + .remove = vmci_remove_device, }; #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 19) @@ -1750,7 +1751,7 @@ *----------------------------------------------------------------------------- */ -static int __devinit +static int vmci_probe_device(struct pci_dev *pdev, // IN: vmci PCI device const struct pci_device_id *id) // IN: matching device ID { @@ -1978,7 +1979,7 @@ *----------------------------------------------------------------------------- */ -static void __devexit +static void vmci_remove_device(struct pci_dev* pdev) { struct vmci_device *dev = pci_get_drvdata(pdev); diff -ur foo/vmhgfs-only/inode.c bar/vmhgfs-only/inode.c --- foo/vmhgfs-only/inode.c 2012-10-31 16:58:29.000000000 -0700 +++ bar/vmhgfs-only/inode.c 2013-05-30 00:00:53.000000000 -0700 @@ -50,6 +50,18 @@ #include "fsutil.h" #include "vm_assert.h" + int vmtruncate(struct inode *inode, loff_t newsize) + { + int error; + error = inode_newsize_ok(inode, newsize); + + if (error) + return error; + truncate_setsize(inode, newsize); + truncate_pagecache(inode, newsize, inode->i_size); + return 0; + } + /* Private functions. */ static int HgfsDelete(struct inode *dir, struct dentry *dentry,
-myk