switch open and mkdir syscalls to umode_t
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
04fc66e789
commit
a218d0fdc5
7 changed files with 21 additions and 21 deletions
|
@ -1281,7 +1281,7 @@ compat_sys_vmsplice(int fd, const struct compat_iovec __user *iov32,
|
||||||
* O_LARGEFILE flag.
|
* O_LARGEFILE flag.
|
||||||
*/
|
*/
|
||||||
asmlinkage long
|
asmlinkage long
|
||||||
compat_sys_open(const char __user *filename, int flags, int mode)
|
compat_sys_open(const char __user *filename, int flags, umode_t mode)
|
||||||
{
|
{
|
||||||
return do_sys_open(AT_FDCWD, filename, flags, mode);
|
return do_sys_open(AT_FDCWD, filename, flags, mode);
|
||||||
}
|
}
|
||||||
|
@ -1291,7 +1291,7 @@ compat_sys_open(const char __user *filename, int flags, int mode)
|
||||||
* O_LARGEFILE flag.
|
* O_LARGEFILE flag.
|
||||||
*/
|
*/
|
||||||
asmlinkage long
|
asmlinkage long
|
||||||
compat_sys_openat(unsigned int dfd, const char __user *filename, int flags, int mode)
|
compat_sys_openat(unsigned int dfd, const char __user *filename, int flags, umode_t mode)
|
||||||
{
|
{
|
||||||
return do_sys_open(dfd, filename, flags, mode);
|
return do_sys_open(dfd, filename, flags, mode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -88,7 +88,7 @@ extern struct file *nameidata_to_filp(struct nameidata *);
|
||||||
extern void release_open_intent(struct nameidata *);
|
extern void release_open_intent(struct nameidata *);
|
||||||
struct open_flags {
|
struct open_flags {
|
||||||
int open_flag;
|
int open_flag;
|
||||||
int mode;
|
umode_t mode;
|
||||||
int acc_mode;
|
int acc_mode;
|
||||||
int intent;
|
int intent;
|
||||||
};
|
};
|
||||||
|
|
|
@ -2177,7 +2177,7 @@ static struct file *do_last(struct nameidata *nd, struct path *path,
|
||||||
|
|
||||||
/* Negative dentry, just create the file */
|
/* Negative dentry, just create the file */
|
||||||
if (!dentry->d_inode) {
|
if (!dentry->d_inode) {
|
||||||
int mode = op->mode;
|
umode_t mode = op->mode;
|
||||||
if (!IS_POSIXACL(dir->d_inode))
|
if (!IS_POSIXACL(dir->d_inode))
|
||||||
mode &= ~current_umask();
|
mode &= ~current_umask();
|
||||||
/*
|
/*
|
||||||
|
@ -2562,7 +2562,7 @@ int vfs_mkdir(struct inode *dir, struct dentry *dentry, umode_t mode)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
|
SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode)
|
||||||
{
|
{
|
||||||
struct dentry *dentry;
|
struct dentry *dentry;
|
||||||
struct path path;
|
struct path path;
|
||||||
|
@ -2590,7 +2590,7 @@ SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode)
|
||||||
return error;
|
return error;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYSCALL_DEFINE2(mkdir, const char __user *, pathname, int, mode)
|
SYSCALL_DEFINE2(mkdir, const char __user *, pathname, umode_t, mode)
|
||||||
{
|
{
|
||||||
return sys_mkdirat(AT_FDCWD, pathname, mode);
|
return sys_mkdirat(AT_FDCWD, pathname, mode);
|
||||||
}
|
}
|
||||||
|
|
12
fs/open.c
12
fs/open.c
|
@ -877,7 +877,7 @@ void fd_install(unsigned int fd, struct file *file)
|
||||||
|
|
||||||
EXPORT_SYMBOL(fd_install);
|
EXPORT_SYMBOL(fd_install);
|
||||||
|
|
||||||
static inline int build_open_flags(int flags, int mode, struct open_flags *op)
|
static inline int build_open_flags(int flags, umode_t mode, struct open_flags *op)
|
||||||
{
|
{
|
||||||
int lookup_flags = 0;
|
int lookup_flags = 0;
|
||||||
int acc_mode;
|
int acc_mode;
|
||||||
|
@ -948,7 +948,7 @@ static inline int build_open_flags(int flags, int mode, struct open_flags *op)
|
||||||
* have to. But in generally you should not do this, so please move
|
* have to. But in generally you should not do this, so please move
|
||||||
* along, nothing to see here..
|
* along, nothing to see here..
|
||||||
*/
|
*/
|
||||||
struct file *filp_open(const char *filename, int flags, int mode)
|
struct file *filp_open(const char *filename, int flags, umode_t mode)
|
||||||
{
|
{
|
||||||
struct open_flags op;
|
struct open_flags op;
|
||||||
int lookup = build_open_flags(flags, mode, &op);
|
int lookup = build_open_flags(flags, mode, &op);
|
||||||
|
@ -970,7 +970,7 @@ struct file *file_open_root(struct dentry *dentry, struct vfsmount *mnt,
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL(file_open_root);
|
EXPORT_SYMBOL(file_open_root);
|
||||||
|
|
||||||
long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
|
long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode)
|
||||||
{
|
{
|
||||||
struct open_flags op;
|
struct open_flags op;
|
||||||
int lookup = build_open_flags(flags, mode, &op);
|
int lookup = build_open_flags(flags, mode, &op);
|
||||||
|
@ -994,7 +994,7 @@ long do_sys_open(int dfd, const char __user *filename, int flags, int mode)
|
||||||
return fd;
|
return fd;
|
||||||
}
|
}
|
||||||
|
|
||||||
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode)
|
SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
|
@ -1008,7 +1008,7 @@ SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode)
|
||||||
}
|
}
|
||||||
|
|
||||||
SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
|
SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
|
||||||
int, mode)
|
umode_t, mode)
|
||||||
{
|
{
|
||||||
long ret;
|
long ret;
|
||||||
|
|
||||||
|
@ -1027,7 +1027,7 @@ SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags,
|
||||||
* For backward compatibility? Maybe this should be moved
|
* For backward compatibility? Maybe this should be moved
|
||||||
* into arch/i386 instead?
|
* into arch/i386 instead?
|
||||||
*/
|
*/
|
||||||
SYSCALL_DEFINE2(creat, const char __user *, pathname, int, mode)
|
SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode)
|
||||||
{
|
{
|
||||||
return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
|
return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode);
|
||||||
}
|
}
|
||||||
|
|
|
@ -422,9 +422,9 @@ asmlinkage long compat_sys_getdents64(unsigned int fd,
|
||||||
asmlinkage long compat_sys_vmsplice(int fd, const struct compat_iovec __user *,
|
asmlinkage long compat_sys_vmsplice(int fd, const struct compat_iovec __user *,
|
||||||
unsigned int nr_segs, unsigned int flags);
|
unsigned int nr_segs, unsigned int flags);
|
||||||
asmlinkage long compat_sys_open(const char __user *filename, int flags,
|
asmlinkage long compat_sys_open(const char __user *filename, int flags,
|
||||||
int mode);
|
umode_t mode);
|
||||||
asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename,
|
asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename,
|
||||||
int flags, int mode);
|
int flags, umode_t mode);
|
||||||
asmlinkage long compat_sys_open_by_handle_at(int mountdirfd,
|
asmlinkage long compat_sys_open_by_handle_at(int mountdirfd,
|
||||||
struct file_handle __user *handle,
|
struct file_handle __user *handle,
|
||||||
int flags);
|
int flags);
|
||||||
|
|
|
@ -2054,8 +2054,8 @@ extern int do_truncate(struct dentry *, loff_t start, unsigned int time_attrs,
|
||||||
extern int do_fallocate(struct file *file, int mode, loff_t offset,
|
extern int do_fallocate(struct file *file, int mode, loff_t offset,
|
||||||
loff_t len);
|
loff_t len);
|
||||||
extern long do_sys_open(int dfd, const char __user *filename, int flags,
|
extern long do_sys_open(int dfd, const char __user *filename, int flags,
|
||||||
int mode);
|
umode_t mode);
|
||||||
extern struct file *filp_open(const char *, int, int);
|
extern struct file *filp_open(const char *, int, umode_t);
|
||||||
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
|
extern struct file *file_open_root(struct dentry *, struct vfsmount *,
|
||||||
const char *, int);
|
const char *, int);
|
||||||
extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
|
extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
|
||||||
|
|
|
@ -517,9 +517,9 @@ asmlinkage long sys_sendfile64(int out_fd, int in_fd,
|
||||||
loff_t __user *offset, size_t count);
|
loff_t __user *offset, size_t count);
|
||||||
asmlinkage long sys_readlink(const char __user *path,
|
asmlinkage long sys_readlink(const char __user *path,
|
||||||
char __user *buf, int bufsiz);
|
char __user *buf, int bufsiz);
|
||||||
asmlinkage long sys_creat(const char __user *pathname, int mode);
|
asmlinkage long sys_creat(const char __user *pathname, umode_t mode);
|
||||||
asmlinkage long sys_open(const char __user *filename,
|
asmlinkage long sys_open(const char __user *filename,
|
||||||
int flags, int mode);
|
int flags, umode_t mode);
|
||||||
asmlinkage long sys_close(unsigned int fd);
|
asmlinkage long sys_close(unsigned int fd);
|
||||||
asmlinkage long sys_access(const char __user *filename, int mode);
|
asmlinkage long sys_access(const char __user *filename, int mode);
|
||||||
asmlinkage long sys_vhangup(void);
|
asmlinkage long sys_vhangup(void);
|
||||||
|
@ -582,7 +582,7 @@ asmlinkage long sys_preadv(unsigned long fd, const struct iovec __user *vec,
|
||||||
asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec,
|
asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec,
|
||||||
unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
|
unsigned long vlen, unsigned long pos_l, unsigned long pos_h);
|
||||||
asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
|
asmlinkage long sys_getcwd(char __user *buf, unsigned long size);
|
||||||
asmlinkage long sys_mkdir(const char __user *pathname, int mode);
|
asmlinkage long sys_mkdir(const char __user *pathname, umode_t mode);
|
||||||
asmlinkage long sys_chdir(const char __user *filename);
|
asmlinkage long sys_chdir(const char __user *filename);
|
||||||
asmlinkage long sys_fchdir(unsigned int fd);
|
asmlinkage long sys_fchdir(unsigned int fd);
|
||||||
asmlinkage long sys_rmdir(const char __user *pathname);
|
asmlinkage long sys_rmdir(const char __user *pathname);
|
||||||
|
@ -757,7 +757,7 @@ asmlinkage long sys_spu_create(const char __user *name,
|
||||||
|
|
||||||
asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode,
|
asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode,
|
||||||
unsigned dev);
|
unsigned dev);
|
||||||
asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode);
|
asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, umode_t mode);
|
||||||
asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
|
asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag);
|
||||||
asmlinkage long sys_symlinkat(const char __user * oldname,
|
asmlinkage long sys_symlinkat(const char __user * oldname,
|
||||||
int newdfd, const char __user * newname);
|
int newdfd, const char __user * newname);
|
||||||
|
@ -773,7 +773,7 @@ asmlinkage long sys_fchmodat(int dfd, const char __user * filename,
|
||||||
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
|
asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user,
|
||||||
gid_t group, int flag);
|
gid_t group, int flag);
|
||||||
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
|
asmlinkage long sys_openat(int dfd, const char __user *filename, int flags,
|
||||||
int mode);
|
umode_t mode);
|
||||||
asmlinkage long sys_newfstatat(int dfd, const char __user *filename,
|
asmlinkage long sys_newfstatat(int dfd, const char __user *filename,
|
||||||
struct stat __user *statbuf, int flag);
|
struct stat __user *statbuf, int flag);
|
||||||
asmlinkage long sys_fstatat64(int dfd, const char __user *filename,
|
asmlinkage long sys_fstatat64(int dfd, const char __user *filename,
|
||||||
|
|
Loading…
Reference in a new issue