--- a/modules/linux/vmhgfs/inode.c
+++ b/modules/linux/vmhgfs/inode.c
@@ -1838,7 +1838,11 @@ HgfsPermission(struct inode *inode,
                            p,
 #endif
                            &inode->i_dentry,
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 7)
                            d_alias) {
+#else
+                           d_u.d_alias) {
+#endif
          int dcount = compat_d_count(dentry);
          if (dcount) {
             LOG(4, ("Found %s %d \n", dentry->d_name.name, dcount));
@@ -1891,7 +1895,11 @@ HgfsPermission(struct inode *inode,
       /* Find a dentry with valid d_count. Refer bug 587879. */
       list_for_each(pos, &inode->i_dentry) {
          int dcount;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 16, 7)
          struct dentry *dentry = list_entry(pos, struct dentry, d_alias);
+#else
+         struct dentry *dentry = list_entry(pos, struct dentry, d_u.d_alias);
+#endif
          dcount = compat_d_count(dentry);
          if (dcount) {
             LOG(4, ("Found %s %d \n", (dentry)->d_name.name, dcount));
