|
@@ -705,18 +705,18 @@ static void munge_mode_uid_gid(struct gfs2_inode *dip, unsigned int *mode,
|
|
|
(dip->i_inode.i_mode & S_ISUID) && dip->i_inode.i_uid) {
|
|
|
if (S_ISDIR(*mode))
|
|
|
*mode |= S_ISUID;
|
|
|
- else if (dip->i_inode.i_uid != current->fsuid)
|
|
|
+ else if (dip->i_inode.i_uid != current_fsuid())
|
|
|
*mode &= ~07111;
|
|
|
*uid = dip->i_inode.i_uid;
|
|
|
} else
|
|
|
- *uid = current->fsuid;
|
|
|
+ *uid = current_fsuid();
|
|
|
|
|
|
if (dip->i_inode.i_mode & S_ISGID) {
|
|
|
if (S_ISDIR(*mode))
|
|
|
*mode |= S_ISGID;
|
|
|
*gid = dip->i_inode.i_gid;
|
|
|
} else
|
|
|
- *gid = current->fsgid;
|
|
|
+ *gid = current_fsgid();
|
|
|
}
|
|
|
|
|
|
static int alloc_dinode(struct gfs2_inode *dip, u64 *no_addr, u64 *generation)
|
|
@@ -1124,8 +1124,8 @@ int gfs2_unlink_ok(struct gfs2_inode *dip, const struct qstr *name,
|
|
|
return -EPERM;
|
|
|
|
|
|
if ((dip->i_inode.i_mode & S_ISVTX) &&
|
|
|
- dip->i_inode.i_uid != current->fsuid &&
|
|
|
- ip->i_inode.i_uid != current->fsuid && !capable(CAP_FOWNER))
|
|
|
+ dip->i_inode.i_uid != current_fsuid() &&
|
|
|
+ ip->i_inode.i_uid != current_fsuid() && !capable(CAP_FOWNER))
|
|
|
return -EPERM;
|
|
|
|
|
|
if (IS_APPEND(&dip->i_inode))
|