staging/lustre: fix build when CONFIG_UIDGID_STRICT_TYPE_CHECKS is on
[platform/adaptation/renesas_rcar/renesas_kernel.git] / drivers / staging / lustre / lustre / llite / llite_lib.c
index afae801..1eb5779 100644 (file)
@@ -1400,7 +1400,7 @@ int ll_setattr_raw(struct dentry *dentry, struct iattr *attr)
 
        /* POSIX: check before ATTR_*TIME_SET set (from inode_change_ok) */
        if (attr->ia_valid & TIMES_SET_FLAGS) {
-               if (current_fsuid() != inode->i_uid &&
+               if ((!uid_eq(current_fsuid(), inode->i_uid)) &&
                    !cfs_capable(CFS_CAP_FOWNER))
                        RETURN(-EPERM);
        }
@@ -1707,9 +1707,9 @@ void ll_update_inode(struct inode *inode, struct lustre_md *md)
                inode->i_blkbits = inode->i_sb->s_blocksize_bits;
        }
        if (body->valid & OBD_MD_FLUID)
-               inode->i_uid = body->uid;
+               inode->i_uid = make_kuid(&init_user_ns, body->uid);
        if (body->valid & OBD_MD_FLGID)
-               inode->i_gid = body->gid;
+               inode->i_gid = make_kgid(&init_user_ns, body->gid);
        if (body->valid & OBD_MD_FLFLAGS)
                inode->i_flags = ll_ext_to_inode_flags(body->flags);
        if (body->valid & OBD_MD_FLNLINK)
@@ -1959,7 +1959,8 @@ int ll_flush_ctx(struct inode *inode)
 {
        struct ll_sb_info  *sbi = ll_i2sbi(inode);
 
-       CDEBUG(D_SEC, "flush context for user %d\n", current_uid());
+       CDEBUG(D_SEC, "flush context for user %d\n",
+                     from_kuid(&init_user_ns, current_uid()));
 
        obd_set_info_async(NULL, sbi->ll_md_exp,
                           sizeof(KEY_FLUSH_CTX), KEY_FLUSH_CTX,
@@ -2238,8 +2239,8 @@ struct md_op_data * ll_prep_md_op_data(struct md_op_data *op_data,
        op_data->op_namelen = namelen;
        op_data->op_mode = mode;
        op_data->op_mod_time = cfs_time_current_sec();
-       op_data->op_fsuid = current_fsuid();
-       op_data->op_fsgid = current_fsgid();
+       op_data->op_fsuid = from_kuid(&init_user_ns, current_fsuid());
+       op_data->op_fsgid = from_kgid(&init_user_ns, current_fsgid());
        op_data->op_cap = cfs_curproc_cap_pack();
        op_data->op_bias = 0;
        op_data->op_cli_flags = 0;