CRED: Wrap task credential accesses in the BFS filesystem
authorDavid Howells <[email protected]>
Thu, 13 Nov 2008 23:38:47 +0000 (10:38 +1100)
committerJames Morris <[email protected]>
Thu, 13 Nov 2008 23:38:47 +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 <[email protected]>
Reviewed-by: James Morris <[email protected]>
Acked-by: Serge Hallyn <[email protected]>
Cc: Tigran A. Aivazian <[email protected]>
Signed-off-by: James Morris <[email protected]>
fs/bfs/dir.c

index daae463068e4e45615ba4c2ef03000f99fdfed96..4dd1b623f93748313be9cd4a2de3354bde9f8873 100644 (file)
@@ -106,8 +106,8 @@ static int bfs_create(struct inode *dir, struct dentry *dentry, int mode,
        }
        set_bit(ino, info->si_imap);
        info->si_freei--;
-       inode->i_uid = current->fsuid;
-       inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current->fsgid;
+       inode->i_uid = current_fsuid();
+       inode->i_gid = (dir->i_mode & S_ISGID) ? dir->i_gid : current_fsgid();
        inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME_SEC;
        inode->i_blocks = 0;
        inode->i_op = &bfs_file_inops;