diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c --- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/inode.c 2012-05-23 00:12:52.000000000 +0400 +++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/inode.c 2012-10-02 15:39:47.000000000 +0400 @@ -1801,7 +1802,7 @@ #else if (mask & MAY_ACCESS) { /* For sys_access. */ #endif - struct list_head *pos; + struct hlist_node *pos; int dcount = 0; struct dentry *dentry = NULL; @@ -1817,7 +1818,7 @@ #endif /* Find a dentry with valid d_count. Refer bug 587789. */ - list_for_each(pos, &inode->i_dentry) { + list_for_each(pos, inode->i_dentry.first) { dentry = list_entry(pos, struct dentry, d_alias); #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 38) dcount = atomic_read(&dentry->d_count); diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c --- open-vm-tools-2012.05.21-724730.org/modules/linux/vmhgfs/page.c 2012-05-23 00:12:52.000000000 +0400 +++ open-vm-tools-2012.05.21-724730/modules/linux/vmhgfs/page.c 2012-10-02 15:41:38.000000000 +0400 @@ -893,7 +893,7 @@ */ if ((offset >= currentFileSize) || ((pageFrom == 0) && (offset + pageTo) >= currentFileSize)) { - void *kaddr = kmap_atomic(page, KM_USER0); + void *kaddr = kmap_atomic(page); if (pageFrom) { memset(kaddr, 0, pageFrom); @@ -901,7 +901,7 @@ if (pageTo < PAGE_CACHE_SIZE) { memset(kaddr + pageTo, 0, PAGE_CACHE_SIZE - pageTo); } - kunmap_atomic(kaddr, KM_USER0); + kunmap_atomic(kaddr); flush_dcache_page(page); } } diff -wbBur open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c --- open-vm-tools-2012.05.21-724730.org/modules/linux/vmsync/sync.c 2012-05-23 00:12:52.000000000 +0400 +++ open-vm-tools-2012.05.21-724730/modules/linux/vmsync/sync.c 2012-10-02 15:23:56.000000000 +0400 @@ -162,7 +162,7 @@ cancel_delayed_work(&state->thawTask); list_for_each_safe(cur, tmp, &state->devices) { dev = list_entry(cur, VmSyncBlockDevice, list); - if (dev->sb != NULL && dev->sb->s_frozen != SB_UNFROZEN) { + if (dev->sb != NULL && dev->sb->s_writers.frozen != SB_UNFROZEN) { thaw_bdev(dev->bdev, dev->sb); atomic_dec(&gFreezeCount); } @@ -237,7 +237,7 @@ * the superblock is already frozen. */ if (inode->i_sb->s_bdev == NULL || - inode->i_sb->s_frozen != SB_UNFROZEN) { + inode->i_sb->s_writers.frozen != SB_UNFROZEN) { result = (inode->i_sb->s_bdev == NULL) ? -EINVAL : -EALREADY; compat_path_release(&nd); goto exit;