diff options
| -rw-r--r-- | arch/powerpc/platforms/cell/spufs/inode.c | 2 | ||||
| -rw-r--r-- | fs/btrfs/acl.c | 2 | ||||
| -rw-r--r-- | fs/btrfs/ioctl.c | 2 | ||||
| -rw-r--r-- | fs/cifs/dir.c | 4 | ||||
| -rw-r--r-- | fs/cifs/inode.c | 4 | ||||
| -rw-r--r-- | fs/ext2/acl.c | 2 | ||||
| -rw-r--r-- | fs/ext3/acl.c | 2 | ||||
| -rw-r--r-- | fs/ext4/acl.c | 2 | ||||
| -rw-r--r-- | fs/fat/inode.c | 2 | ||||
| -rw-r--r-- | fs/fs_struct.c | 6 | ||||
| -rw-r--r-- | fs/generic_acl.c | 2 | ||||
| -rw-r--r-- | fs/gfs2/acl.c | 2 | ||||
| -rw-r--r-- | fs/hfsplus/options.c | 2 | ||||
| -rw-r--r-- | fs/hpfs/super.c | 2 | ||||
| -rw-r--r-- | fs/jffs2/acl.c | 2 | ||||
| -rw-r--r-- | fs/jfs/acl.c | 2 | ||||
| -rw-r--r-- | fs/namei.c | 6 | ||||
| -rw-r--r-- | fs/nfs/nfs3proc.c | 6 | ||||
| -rw-r--r-- | fs/nfs/nfs4proc.c | 2 | ||||
| -rw-r--r-- | fs/ocfs2/acl.c | 2 | ||||
| -rw-r--r-- | fs/omfs/inode.c | 2 | ||||
| -rw-r--r-- | fs/reiserfs/xattr_acl.c | 2 | ||||
| -rw-r--r-- | fs/xfs/linux-2.6/xfs_iops.c | 4 | ||||
| -rw-r--r-- | include/linux/fs.h | 2 | ||||
| -rw-r--r-- | ipc/mqueue.c | 2 | ||||
| -rw-r--r-- | net/unix/af_unix.c | 2 |
26 files changed, 39 insertions, 31 deletions
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c index 64f068540d0d..706eb5c7e2ee 100644 --- a/arch/powerpc/platforms/cell/spufs/inode.c +++ b/arch/powerpc/platforms/cell/spufs/inode.c | |||
| @@ -635,7 +635,7 @@ long spufs_create(struct nameidata *nd, unsigned int flags, mode_t mode, | |||
| 635 | if (dentry->d_inode) | 635 | if (dentry->d_inode) |
| 636 | goto out_dput; | 636 | goto out_dput; |
| 637 | 637 | ||
| 638 | mode &= ~current->fs->umask; | 638 | mode &= ~current_umask(); |
| 639 | 639 | ||
| 640 | if (flags & SPU_CREATE_GANG) | 640 | if (flags & SPU_CREATE_GANG) |
| 641 | ret = spufs_create_gang(nd->path.dentry->d_inode, | 641 | ret = spufs_create_gang(nd->path.dentry->d_inode, |
diff --git a/fs/btrfs/acl.c b/fs/btrfs/acl.c index 1d53b62dbba5..7fdd184a528d 100644 --- a/fs/btrfs/acl.c +++ b/fs/btrfs/acl.c | |||
| @@ -256,7 +256,7 @@ int btrfs_init_acl(struct inode *inode, struct inode *dir) | |||
| 256 | } | 256 | } |
| 257 | 257 | ||
| 258 | if (!acl) | 258 | if (!acl) |
| 259 | inode->i_mode &= ~current->fs->umask; | 259 | inode->i_mode &= ~current_umask(); |
| 260 | } | 260 | } |
| 261 | 261 | ||
| 262 | if (IS_POSIXACL(dir) && acl) { | 262 | if (IS_POSIXACL(dir) && acl) { |
diff --git a/fs/btrfs/ioctl.c b/fs/btrfs/ioctl.c index bca729fc80c8..7594bec1be10 100644 --- a/fs/btrfs/ioctl.c +++ b/fs/btrfs/ioctl.c | |||
| @@ -267,7 +267,7 @@ static noinline int btrfs_mksubvol(struct path *parent, char *name, | |||
| 267 | goto out_dput; | 267 | goto out_dput; |
| 268 | 268 | ||
| 269 | if (!IS_POSIXACL(parent->dentry->d_inode)) | 269 | if (!IS_POSIXACL(parent->dentry->d_inode)) |
| 270 | mode &= ~current->fs->umask; | 270 | mode &= ~current_umask(); |
| 271 | 271 | ||
| 272 | error = mnt_want_write(parent->mnt); | 272 | error = mnt_want_write(parent->mnt); |
| 273 | if (error) | 273 | if (error) |
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 2f35cccfcd8d..54dce78fbb73 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
| @@ -254,7 +254,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, | |||
| 254 | return -ENOMEM; | 254 | return -ENOMEM; |
| 255 | } | 255 | } |
| 256 | 256 | ||
| 257 | mode &= ~current->fs->umask; | 257 | mode &= ~current_umask(); |
| 258 | if (oplockEnabled) | 258 | if (oplockEnabled) |
| 259 | oplock = REQ_OPLOCK; | 259 | oplock = REQ_OPLOCK; |
| 260 | 260 | ||
| @@ -479,7 +479,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, | |||
| 479 | rc = -ENOMEM; | 479 | rc = -ENOMEM; |
| 480 | else if (pTcon->unix_ext) { | 480 | else if (pTcon->unix_ext) { |
| 481 | struct cifs_unix_set_info_args args = { | 481 | struct cifs_unix_set_info_args args = { |
| 482 | .mode = mode & ~current->fs->umask, | 482 | .mode = mode & ~current_umask(), |
| 483 | .ctime = NO_CHANGE_64, | 483 | .ctime = NO_CHANGE_64, |
| 484 | .atime = NO_CHANGE_64, | 484 | .atime = NO_CHANGE_64, |
| 485 | .mtime = NO_CHANGE_64, | 485 | .mtime = NO_CHANGE_64, |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index a8797cc60805..f121a80fdd6f 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -1125,7 +1125,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode) | |||
| 1125 | goto mkdir_out; | 1125 | goto mkdir_out; |
| 1126 | } | 1126 | } |
| 1127 | 1127 | ||
| 1128 | mode &= ~current->fs->umask; | 1128 | mode &= ~current_umask(); |
| 1129 | rc = CIFSPOSIXCreate(xid, pTcon, SMB_O_DIRECTORY | SMB_O_CREAT, | 1129 | rc = CIFSPOSIXCreate(xid, pTcon, SMB_O_DIRECTORY | SMB_O_CREAT, |
| 1130 | mode, NULL /* netfid */, pInfo, &oplock, | 1130 | mode, NULL /* netfid */, pInfo, &oplock, |
| 1131 | full_path, cifs_sb->local_nls, | 1131 | full_path, cifs_sb->local_nls, |
| @@ -1204,7 +1204,7 @@ mkdir_get_info: | |||
| 1204 | if ((direntry->d_inode) && (direntry->d_inode->i_nlink < 2)) | 1204 | if ((direntry->d_inode) && (direntry->d_inode->i_nlink < 2)) |
| 1205 | direntry->d_inode->i_nlink = 2; | 1205 | direntry->d_inode->i_nlink = 2; |
| 1206 | 1206 | ||
| 1207 | mode &= ~current->fs->umask; | 1207 | mode &= ~current_umask(); |
| 1208 | /* must turn on setgid bit if parent dir has it */ | 1208 | /* must turn on setgid bit if parent dir has it */ |
| 1209 | if (inode->i_mode & S_ISGID) | 1209 | if (inode->i_mode & S_ISGID) |
| 1210 | mode |= S_ISGID; | 1210 | mode |= S_ISGID; |
diff --git a/fs/ext2/acl.c b/fs/ext2/acl.c index ae8c4f850b27..d46e38cb85c5 100644 --- a/fs/ext2/acl.c +++ b/fs/ext2/acl.c | |||
| @@ -318,7 +318,7 @@ ext2_init_acl(struct inode *inode, struct inode *dir) | |||
| 318 | return PTR_ERR(acl); | 318 | return PTR_ERR(acl); |
| 319 | } | 319 | } |
| 320 | if (!acl) | 320 | if (!acl) |
| 321 | inode->i_mode &= ~current->fs->umask; | 321 | inode->i_mode &= ~current_umask(); |
| 322 | } | 322 | } |
| 323 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { | 323 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { |
| 324 | struct posix_acl *clone; | 324 | struct posix_acl *clone; |
diff --git a/fs/ext3/acl.c b/fs/ext3/acl.c index b60bb241880c..d81ef2fdb08e 100644 --- a/fs/ext3/acl.c +++ b/fs/ext3/acl.c | |||
| @@ -323,7 +323,7 @@ ext3_init_acl(handle_t *handle, struct inode *inode, struct inode *dir) | |||
| 323 | return PTR_ERR(acl); | 323 | return PTR_ERR(acl); |
| 324 | } | 324 | } |
| 325 | if (!acl) | 325 | if (!acl) |
| 326 | inode->i_mode &= ~current->fs->umask; | 326 | inode->i_mode &= ~current_umask(); |
| 327 | } | 327 | } |
| 328 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { | 328 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { |
| 329 | struct posix_acl *clone; | 329 | struct posix_acl *clone; |
diff --git a/fs/ext4/acl.c b/fs/ext4/acl.c index 694ed6fadcc8..647e0d65a284 100644 --- a/fs/ext4/acl.c +++ b/fs/ext4/acl.c | |||
| @@ -323,7 +323,7 @@ ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir) | |||
| 323 | return PTR_ERR(acl); | 323 | return PTR_ERR(acl); |
| 324 | } | 324 | } |
| 325 | if (!acl) | 325 | if (!acl) |
| 326 | inode->i_mode &= ~current->fs->umask; | 326 | inode->i_mode &= ~current_umask(); |
| 327 | } | 327 | } |
| 328 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { | 328 | if (test_opt(inode->i_sb, POSIX_ACL) && acl) { |
| 329 | struct posix_acl *clone; | 329 | struct posix_acl *clone; |
diff --git a/fs/fat/inode.c b/fs/fat/inode.c index de0004fe6e00..ab657db4c94e 100644 --- a/fs/fat/inode.c +++ b/fs/fat/inode.c | |||
| @@ -930,7 +930,7 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug, | |||
| 930 | 930 | ||
| 931 | opts->fs_uid = current_uid(); | 931 | opts->fs_uid = current_uid(); |
| 932 | opts->fs_gid = current_gid(); | 932 | opts->fs_gid = current_gid(); |
| 933 | opts->fs_fmask = opts->fs_dmask = current->fs->umask; | 933 | opts->fs_fmask = current_umask(); |
| 934 | opts->allow_utime = -1; | 934 | opts->allow_utime = -1; |
| 935 | opts->codepage = fat_default_codepage; | 935 | opts->codepage = fat_default_codepage; |
| 936 | opts->iocharset = fat_default_iocharset; | 936 | opts->iocharset = fat_default_iocharset; |
diff --git a/fs/fs_struct.c b/fs/fs_struct.c index 41cff72b377b..6ac219338670 100644 --- a/fs/fs_struct.c +++ b/fs/fs_struct.c | |||
| @@ -138,6 +138,12 @@ int unshare_fs_struct(void) | |||
| 138 | } | 138 | } |
| 139 | EXPORT_SYMBOL_GPL(unshare_fs_struct); | 139 | EXPORT_SYMBOL_GPL(unshare_fs_struct); |
| 140 | 140 | ||
| 141 | int current_umask(void) | ||
| 142 | { | ||
| 143 | return current->fs->umask; | ||
| 144 | } | ||
| 145 | EXPORT_SYMBOL(current_umask); | ||
| 146 | |||
| 141 | /* to be mentioned only in INIT_TASK */ | 147 | /* to be mentioned only in INIT_TASK */ |
| 142 | struct fs_struct init_fs = { | 148 | struct fs_struct init_fs = { |
| 143 | .users = 1, | 149 | .users = 1, |
diff --git a/fs/generic_acl.c b/fs/generic_acl.c index 995d63b2e747..e0b53aa7bbec 100644 --- a/fs/generic_acl.c +++ b/fs/generic_acl.c | |||
| @@ -134,7 +134,7 @@ generic_acl_init(struct inode *inode, struct inode *dir, | |||
| 134 | mode_t mode = inode->i_mode; | 134 | mode_t mode = inode->i_mode; |
| 135 | int error; | ||
