[linux-yocto] [PATCH 10/39] arch/arm/mach-axxia: Updates to the VMFS File System

Charlie Paul cpaul.windriver at gmail.com
Tue Apr 22 13:59:22 PDT 2014


From: John Jacques <john.jacques at lsi.com>

Updated to work when CONFIG_UIDGID_STRICT_TYPE_CHECKS is
not defined.

This fixed a build failure.

Signed-off-by: John Jacques <john.jacques at lsi.com>
---
 fs/vmfs/inode.c |   18 ++++++++++++++++--
 fs/vmfs/ioctl.c |    8 ++++++++
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/fs/vmfs/inode.c b/fs/vmfs/inode.c
index 713da0d..099bd76 100644
--- a/fs/vmfs/inode.c
+++ b/fs/vmfs/inode.c
@@ -486,11 +486,25 @@ int vmfs_notify_change(struct dentry *dentry, struct iattr *attr)
 		goto out;
 
 	error = -EPERM;
-	if ((attr->ia_valid & ATTR_UID) && ((attr->ia_uid).val != (server->mnt->uid).val))
+#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
+	if ((attr->ia_valid & ATTR_UID) &&
+	    (attr->ia_uid.val != (server->mnt->uid).val))
 		goto out;
+#else
+	if ((attr->ia_valid & ATTR_UID) &&
+	    (attr->ia_uid != server->mnt->uid))
+		goto out;
+#endif
 
-	if ((attr->ia_valid & ATTR_GID) && ((attr->ia_gid).val != (server->mnt->gid).val))
+#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
+	if ((attr->ia_valid & ATTR_GID) &&
+	    ((attr->ia_gid).val != (server->mnt->gid).val))
 		goto out;
+#else
+	if ((attr->ia_valid & ATTR_GID) &&
+	    (attr->ia_gid != server->mnt->gid))
+		goto out;
+#endif
 
 	if ((attr->ia_valid & ATTR_MODE) && (attr->ia_mode & ~mask))
 		goto out;
diff --git a/fs/vmfs/ioctl.c b/fs/vmfs/ioctl.c
index 988e69c..798df63 100644
--- a/fs/vmfs/ioctl.c
+++ b/fs/vmfs/ioctl.c
@@ -34,11 +34,19 @@ long vmfs_unlocked_ioctl(struct file *filp, unsigned int cmd,
 		uid16_t uid16;
 		uid_t uid32;
 	case VMFS_IOC_GETMOUNTUID:
+#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
 		SET_UID(uid16, (server->mnt->mounted_uid).val);
+#else
+		SET_UID(uid16, server->mnt->mounted_uid);
+#endif
 		result = put_user(uid16, (uid16_t __user *) arg);
 		break;
 	case VMFS_IOC_GETMOUNTUID32:
+#ifdef CONFIG_UIDGID_STRICT_TYPE_CHECKS
 		SET_UID(uid32, (server->mnt->mounted_uid).val);
+#else
+		SET_UID(uid32, server->mnt->mounted_uid);
+#endif
 		result = put_user(uid32, (uid_t __user *) arg);
 		break;
 	default:
-- 
1.7.9.5



More information about the linux-yocto mailing list