Index: open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/control.c =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmblock/linux/control.c 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/control.c 2013-12-21 14:57:42.526218393 -0600 @@ -283,7 +283,7 @@ int i; int retval; - name = getname(buf); + name = (char *)getname(buf); if (IS_ERR(name)) { return PTR_ERR(name); } Index: open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/dentry.c =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmblock/linux/dentry.c 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/dentry.c 2013-12-21 14:57:42.530218410 -0600 @@ -32,7 +32,7 @@ #include "block.h" -static int DentryOpRevalidate(struct dentry *dentry, struct nameidata *nd); +static int DentryOpRevalidate(struct dentry *dentry, unsigned int flags); struct dentry_operations LinkDentryOps = { .d_revalidate = DentryOpRevalidate, @@ -60,7 +60,7 @@ static int DentryOpRevalidate(struct dentry *dentry, // IN: dentry revalidating - struct nameidata *nd) // IN: lookup flags & intent + unsigned int flags) // IN: lookup flags & intent { VMBlockInodeInfo *iinfo; struct nameidata actualNd; @@ -101,7 +101,7 @@ if (actualDentry && actualDentry->d_op && actualDentry->d_op->d_revalidate) { - return actualDentry->d_op->d_revalidate(actualDentry, nd); + return actualDentry->d_op->d_revalidate(actualDentry, flags); } if (compat_path_lookup(iinfo->name, 0, &actualNd)) { Index: open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/inode.c =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmblock/linux/inode.c 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmblock/linux/inode.c 2013-12-21 14:57:42.530218410 -0600 @@ -36,7 +36,7 @@ /* Inode operations */ static struct dentry *InodeOpLookup(struct inode *dir, - struct dentry *dentry, struct nameidata *nd); + struct dentry *dentry, unsigned int flags); static int InodeOpReadlink(struct dentry *dentry, char __user *buffer, int buflen); #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) static void *InodeOpFollowlink(struct dentry *dentry, struct nameidata *nd); @@ -75,7 +75,7 @@ static struct dentry * InodeOpLookup(struct inode *dir, // IN: parent directory's inode struct dentry *dentry, // IN: dentry to lookup - struct nameidata *nd) // IN: lookup intent and information + unsigned int flags) // IN: lookup intent and information { char *filename; struct inode *inode; @@ -135,7 +135,8 @@ inode->i_size = INODE_TO_IINFO(inode)->nameLen; inode->i_version = 1; inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; - inode->i_uid = inode->i_gid = 0; + inode->i_uid = make_kuid(&init_user_ns, 0); + inode->i_gid = make_kgid(&init_user_ns, 0); inode->i_op = &LinkInodeOps; d_add(dentry, inode); @@ -221,7 +222,7 @@ goto out; } - ret = vfs_follow_link(nd, iinfo->name); + nd_set_link(nd, iinfo->name); out: #if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 13) Index: open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/fsutil.c =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmhgfs/fsutil.c 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/fsutil.c 2013-12-21 14:57:42.530218410 -0600 @@ -1747,8 +1747,8 @@ void HgfsSetUidGid(struct inode *parent, // IN: parent inode struct dentry *dentry, // IN: dentry of file to update - uid_t uid, // IN: uid to set - gid_t gid) // IN: gid to set + kuid_t uid, // IN: uid to set + kgid_t gid) // IN: gid to set { struct iattr setUidGid; Index: open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/fsutil.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmhgfs/fsutil.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/fsutil.h 2013-12-21 14:57:42.530218410 -0600 @@ -56,8 +56,8 @@ HgfsPermissions otherPerms; /* Other permissions bits */ HgfsPermissions effectivePerms; /* Permissions in effect for the user on the host. */ - uint32 userId; /* UID */ - uint32 groupId; /* GID */ + kuid_t userId; /* UID */ + kgid_t groupId; /* GID */ uint64 hostFileId; /* Inode number */ } HgfsAttrInfo; @@ -92,8 +92,8 @@ int HgfsStatusConvertToLinux(HgfsStatus hgfsStatus); void HgfsSetUidGid(struct inode *parent, struct dentry *dentry, - uid_t uid, - gid_t gid); + kuid_t uid, + kgid_t gid); struct inode *HgfsGetInode(struct super_block *sb, ino_t ino); void HgfsDoReadInode(struct inode *inode); Index: open-vm-tools.trusty-kernel.update/lib/include/hgfsDevLinux.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/lib/include/hgfsDevLinux.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/lib/include/hgfsDevLinux.h 2013-12-21 14:57:42.530218410 -0600 @@ -62,9 +62,9 @@ uint32 version; // protocol version uint32 fd; // file descriptor of client file #ifndef sun - uid_t uid; // desired owner of files + kuid_t uid; // desired owner of files Bool uidSet; // is the owner actually set? - gid_t gid; // desired group of files + kgid_t gid; // desired group of files Bool gidSet; // is the group actually set? unsigned short fmask; // desired file mask unsigned short dmask; // desired directory mask Index: open-vm-tools.trusty-kernel.update/lib/include/hgfsProto.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/lib/include/hgfsProto.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/lib/include/hgfsProto.h 2013-12-21 14:57:42.530218410 -0600 @@ -49,6 +49,7 @@ #include "vm_basic_types.h" #include "hgfs.h" +#include /* * Handle used by the server to identify files and searches. Used @@ -519,8 +520,8 @@ * Windows */ HgfsAttrFlags flags; /* Various flags and Windows 'attributes' */ uint64 allocationSize; /* Actual size of file on disk */ - uint32 userId; /* User identifier, ignored by Windows */ - uint32 groupId; /* group identifier, ignored by Windows */ + kuid_t userId; /* User identifier, ignored by Windows */ + kgid_t groupId; /* group identifier, ignored by Windows */ uint64 hostFileId; /* File Id of the file on host: inode_t on Linux */ uint32 volumeId; /* volume identifier, non-zero is valid. */ uint32 effectivePerms; /* Permissions in effect for the user on the host. */ Index: open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/module.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vmhgfs/module.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vmhgfs/module.h 2013-12-21 14:57:42.530218410 -0600 @@ -110,9 +110,9 @@ /* Data kept in each superblock in sb->u. */ typedef struct HgfsSuperInfo { - uid_t uid; /* UID of user who mounted this fs. */ + kuid_t uid; /* UID of user who mounted this fs. */ Bool uidSet; /* Was the UID specified at mount-time? */ - gid_t gid; /* GID of user who mounted this fs. */ + kgid_t gid; /* GID of user who mounted this fs. */ Bool gidSet; /* Was the GID specified at mount-time? */ mode_t fmask; /* File permission mask. */ mode_t dmask; /* Directory permission mask. */ Index: open-vm-tools.trusty-kernel.update/modules/linux/vsock/linux/af_vsock.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/vsock/linux/af_vsock.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/vsock/linux/af_vsock.h 2013-12-21 14:57:42.530218410 -0600 @@ -60,7 +60,7 @@ Bool trusted; Bool cachedPeerAllowDgram; /* Dgram communication allowed to cached peer? */ VMCIId cachedPeer; /* Context ID of last dgram destination check. */ - uid_t owner; + kuid_t owner; VMCIHandle dgHandle; /* For SOCK_DGRAM only. */ /* Rest are SOCK_STREAM only. */ VMCIHandle qpHandle; Index: open-vm-tools.trusty-kernel.update/modules/linux/shared/vmciKernelAPI1.h =================================================================== --- open-vm-tools.trusty-kernel.update.orig/modules/linux/shared/vmciKernelAPI1.h 2013-12-21 14:57:42.530218410 -0600 +++ open-vm-tools.trusty-kernel.update/modules/linux/shared/vmciKernelAPI1.h 2013-12-21 14:57:42.530218410 -0600 @@ -91,7 +91,7 @@ #if defined(linux) && !defined(VMKERNEL) /* Returned value is a bool, 0 for false, 1 for true. */ -int vmci_is_context_owner(VMCIId contextID, uid_t uid); +int vmci_is_context_owner(VMCIId contextID, kuid_t uid); #else // !linux || VMKERNEL /* Returned value is a VMCI error code. */ int vmci_is_context_owner(VMCIId contextID, void *hostUser);