]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - fs/coda/coda_linux.c
coda: Restrict coda messages to the initial user namespace
[mirror_ubuntu-artful-kernel.git] / fs / coda / coda_linux.c
index 854ace71268579b9a48e0b0001f1ebfe09c094ea..2849f41e72a209fb689c7b28915566ed8c70cde1 100644 (file)
@@ -100,9 +100,9 @@ void coda_vattr_to_iattr(struct inode *inode, struct coda_vattr *attr)
        if (attr->va_mode != (u_short) -1)
                inode->i_mode = attr->va_mode | inode_type;
         if (attr->va_uid != -1) 
-               inode->i_uid = (uid_t) attr->va_uid;
+               inode->i_uid = make_kuid(&init_user_ns, (uid_t) attr->va_uid);
         if (attr->va_gid != -1)
-               inode->i_gid = (gid_t) attr->va_gid;
+               inode->i_gid = make_kgid(&init_user_ns, (gid_t) attr->va_gid);
        if (attr->va_nlink != -1)
                set_nlink(inode, attr->va_nlink);
        if (attr->va_size != -1)
@@ -171,10 +171,10 @@ void coda_iattr_to_vattr(struct iattr *iattr, struct coda_vattr *vattr)
                 vattr->va_mode = iattr->ia_mode;
        }
         if ( valid & ATTR_UID ) {
-                vattr->va_uid = (vuid_t) iattr->ia_uid;
+                vattr->va_uid = (vuid_t) from_kuid(&init_user_ns, iattr->ia_uid);
        }
         if ( valid & ATTR_GID ) {
-                vattr->va_gid = (vgid_t) iattr->ia_gid;
+                vattr->va_gid = (vgid_t) from_kgid(&init_user_ns, iattr->ia_gid);
        }
         if ( valid & ATTR_SIZE ) {
                 vattr->va_size = iattr->ia_size;