CRED: Wrap task credential accesses in the OMFS filesystem
David Howells [Thu, 13 Nov 2008 23:38:59 +0000 (10:38 +1100)]
Wrap access to task credentials so that they can be separated more easily from
the task_struct during the introduction of COW creds.

Change most current->(|e|s|fs)[ug]id to current_(|e|s|fs)[ug]id().

Change some task->e?[ug]id to task_e?[ug]id().  In some places it makes more
sense to use RCU directly rather than a convenient wrapper; these will be
addressed by later patches.

Signed-off-by: David Howells <dhowells@redhat.com>
Reviewed-by: James Morris <jmorris@namei.org>
Acked-by: Serge Hallyn <serue@us.ibm.com>
Cc: Bob Copeland <me@bobcopeland.com>
Cc: linux-karma-devel@lists.sourceforge.net
Signed-off-by: James Morris <jmorris@namei.org>

fs/omfs/inode.c

index cbf047a..6afe57c 100644 (file)
@@ -37,8 +37,8 @@ struct inode *omfs_new_inode(struct inode *dir, int mode)
 
        inode->i_ino = new_block;
        inode->i_mode = mode;
-       inode->i_uid = current->fsuid;
-       inode->i_gid = current->fsgid;
+       inode->i_uid = current_fsuid();
+       inode->i_gid = current_fsgid();
        inode->i_blocks = 0;
        inode->i_mapping->a_ops = &omfs_aops;
 
@@ -420,8 +420,8 @@ static int omfs_fill_super(struct super_block *sb, void *data, int silent)
 
        sb->s_fs_info = sbi;
 
-       sbi->s_uid = current->uid;
-       sbi->s_gid = current->gid;
+       sbi->s_uid = current_uid();
+       sbi->s_gid = current_gid();
        sbi->s_dmask = sbi->s_fmask = current->fs->umask;
 
        if (!parse_options((char *) data, sbi))