Skip to content

Commit ce3b0f8

Browse files
author
Al Viro
committed
New helper - current_umask()
current->fs->umask is what most of fs_struct users are doing. Put that into a helper function. Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
1 parent f1191b5 commit ce3b0f8

File tree

26 files changed

+39
-31
lines changed

26 files changed

+39
-31
lines changed

arch/powerpc/platforms/cell/spufs/inode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -635,7 +635,7 @@ long spufs_create(struct nameidata *nd, unsigned int flags, mode_t mode,
635635
if (dentry->d_inode)
636636
goto out_dput;
637637

638-
mode &= ~current->fs->umask;
638+
mode &= ~current_umask();
639639

640640
if (flags & SPU_CREATE_GANG)
641641
ret = spufs_create_gang(nd->path.dentry->d_inode,

fs/btrfs/acl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,7 +256,7 @@ int btrfs_init_acl(struct inode *inode, struct inode *dir)
256256
}
257257

258258
if (!acl)
259-
inode->i_mode &= ~current->fs->umask;
259+
inode->i_mode &= ~current_umask();
260260
}
261261

262262
if (IS_POSIXACL(dir) && acl) {

fs/btrfs/ioctl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ static noinline int btrfs_mksubvol(struct path *parent, char *name,
267267
goto out_dput;
268268

269269
if (!IS_POSIXACL(parent->dentry->d_inode))
270-
mode &= ~current->fs->umask;
270+
mode &= ~current_umask();
271271

272272
error = mnt_want_write(parent->mnt);
273273
if (error)

fs/cifs/dir.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -254,7 +254,7 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
254254
return -ENOMEM;
255255
}
256256

257-
mode &= ~current->fs->umask;
257+
mode &= ~current_umask();
258258
if (oplockEnabled)
259259
oplock = REQ_OPLOCK;
260260

@@ -479,7 +479,7 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode,
479479
rc = -ENOMEM;
480480
else if (pTcon->unix_ext) {
481481
struct cifs_unix_set_info_args args = {
482-
.mode = mode & ~current->fs->umask,
482+
.mode = mode & ~current_umask(),
483483
.ctime = NO_CHANGE_64,
484484
.atime = NO_CHANGE_64,
485485
.mtime = NO_CHANGE_64,

fs/cifs/inode.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1125,7 +1125,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
11251125
goto mkdir_out;
11261126
}
11271127

1128-
mode &= ~current->fs->umask;
1128+
mode &= ~current_umask();
11291129
rc = CIFSPOSIXCreate(xid, pTcon, SMB_O_DIRECTORY | SMB_O_CREAT,
11301130
mode, NULL /* netfid */, pInfo, &oplock,
11311131
full_path, cifs_sb->local_nls,
@@ -1204,7 +1204,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode)
12041204
if ((direntry->d_inode) && (direntry->d_inode->i_nlink < 2))
12051205
direntry->d_inode->i_nlink = 2;
12061206

1207-
mode &= ~current->fs->umask;
1207+
mode &= ~current_umask();
12081208
/* must turn on setgid bit if parent dir has it */
12091209
if (inode->i_mode & S_ISGID)
12101210
mode |= S_ISGID;

fs/ext2/acl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ ext2_init_acl(struct inode *inode, struct inode *dir)
318318
return PTR_ERR(acl);
319319
}
320320
if (!acl)
321-
inode->i_mode &= ~current->fs->umask;
321+
inode->i_mode &= ~current_umask();
322322
}
323323
if (test_opt(inode->i_sb, POSIX_ACL) && acl) {
324324
struct posix_acl *clone;

fs/ext3/acl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ ext3_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
323323
return PTR_ERR(acl);
324324
}
325325
if (!acl)
326-
inode->i_mode &= ~current->fs->umask;
326+
inode->i_mode &= ~current_umask();
327327
}
328328
if (test_opt(inode->i_sb, POSIX_ACL) && acl) {
329329
struct posix_acl *clone;

fs/ext4/acl.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -323,7 +323,7 @@ ext4_init_acl(handle_t *handle, struct inode *inode, struct inode *dir)
323323
return PTR_ERR(acl);
324324
}
325325
if (!acl)
326-
inode->i_mode &= ~current->fs->umask;
326+
inode->i_mode &= ~current_umask();
327327
}
328328
if (test_opt(inode->i_sb, POSIX_ACL) && acl) {
329329
struct posix_acl *clone;

fs/fat/inode.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -930,7 +930,7 @@ static int parse_options(char *options, int is_vfat, int silent, int *debug,
930930

931931
opts->fs_uid = current_uid();
932932
opts->fs_gid = current_gid();
933-
opts->fs_fmask = opts->fs_dmask = current->fs->umask;
933+
opts->fs_fmask = current_umask();
934934
opts->allow_utime = -1;
935935
opts->codepage = fat_default_codepage;
936936
opts->iocharset = fat_default_iocharset;

fs/fs_struct.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,12 @@ int unshare_fs_struct(void)
138138
}
139139
EXPORT_SYMBOL_GPL(unshare_fs_struct);
140140

141+
int current_umask(void)
142+
{
143+
return current->fs->umask;
144+
}
145+
EXPORT_SYMBOL(current_umask);
146+
141147
/* to be mentioned only in INIT_TASK */
142148
struct fs_struct init_fs = {
143149
.users = 1,

0 commit comments

Comments
 (0)