diff options
Diffstat (limited to 'fs/namei.c')
| -rw-r--r-- | fs/namei.c | 14 | 
1 files changed, 4 insertions, 10 deletions
diff --git a/fs/namei.c b/fs/namei.c index d040ce11785..b8433ebfae0 100644 --- a/fs/namei.c +++ b/fs/namei.c @@ -32,6 +32,7 @@  #include <linux/file.h>  #include <linux/fcntl.h>  #include <linux/device_cgroup.h> +#include <linux/fs_struct.h>  #include <asm/uaccess.h>  #define ACC_MODE(x) ("\000\004\002\006"[(x)&O_ACCMODE]) @@ -1578,7 +1579,7 @@ static int __open_namei_create(struct nameidata *nd, struct path *path,  	struct dentry *dir = nd->path.dentry;  	if (!IS_POSIXACL(dir->d_inode)) -		mode &= ~current->fs->umask; +		mode &= ~current_umask();  	error = security_path_mknod(&nd->path, path->dentry, mode, 0);  	if (error)  		goto out_unlock; @@ -1989,7 +1990,7 @@ SYSCALL_DEFINE4(mknodat, int, dfd, const char __user *, filename, int, mode,  		goto out_unlock;  	}  	if (!IS_POSIXACL(nd.path.dentry->d_inode)) -		mode &= ~current->fs->umask; +		mode &= ~current_umask();  	error = may_mknod(mode);  	if (error)  		goto out_dput; @@ -2067,7 +2068,7 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)  		goto out_unlock;  	if (!IS_POSIXACL(nd.path.dentry->d_inode)) -		mode &= ~current->fs->umask; +		mode &= ~current_umask();  	error = mnt_want_write(nd.path.mnt);  	if (error)  		goto out_dput; @@ -2897,10 +2898,3 @@ EXPORT_SYMBOL(vfs_symlink);  EXPORT_SYMBOL(vfs_unlink);  EXPORT_SYMBOL(dentry_unhash);  EXPORT_SYMBOL(generic_readlink); - -/* to be mentioned only in INIT_TASK */ -struct fs_struct init_fs = { -	.count		= ATOMIC_INIT(1), -	.lock		= __RW_LOCK_UNLOCKED(init_fs.lock), -	.umask		= 0022, -};  |