Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

switch open and mkdir syscalls to umode_t

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>

Al Viro a218d0fd 04fc66e7

+21 -21
+2 -2
fs/compat.c
··· 1281 1281 * O_LARGEFILE flag. 1282 1282 */ 1283 1283 asmlinkage long 1284 - compat_sys_open(const char __user *filename, int flags, int mode) 1284 + compat_sys_open(const char __user *filename, int flags, umode_t mode) 1285 1285 { 1286 1286 return do_sys_open(AT_FDCWD, filename, flags, mode); 1287 1287 } ··· 1291 1291 * O_LARGEFILE flag. 1292 1292 */ 1293 1293 asmlinkage long 1294 - compat_sys_openat(unsigned int dfd, const char __user *filename, int flags, int mode) 1294 + compat_sys_openat(unsigned int dfd, const char __user *filename, int flags, umode_t mode) 1295 1295 { 1296 1296 return do_sys_open(dfd, filename, flags, mode); 1297 1297 }
+1 -1
fs/internal.h
··· 88 88 extern void release_open_intent(struct nameidata *); 89 89 struct open_flags { 90 90 int open_flag; 91 - int mode; 91 + umode_t mode; 92 92 int acc_mode; 93 93 int intent; 94 94 };
+3 -3
fs/namei.c
··· 2177 2177 2178 2178 /* Negative dentry, just create the file */ 2179 2179 if (!dentry->d_inode) { 2180 - int mode = op->mode; 2180 + umode_t mode = op->mode; 2181 2181 if (!IS_POSIXACL(dir->d_inode)) 2182 2182 mode &= ~current_umask(); 2183 2183 /* ··· 2562 2562 return error; 2563 2563 } 2564 2564 2565 - SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, int, mode) 2565 + SYSCALL_DEFINE3(mkdirat, int, dfd, const char __user *, pathname, umode_t, mode) 2566 2566 { 2567 2567 struct dentry *dentry; 2568 2568 struct path path; ··· 2590 2590 return error; 2591 2591 } 2592 2592 2593 - SYSCALL_DEFINE2(mkdir, const char __user *, pathname, int, mode) 2593 + SYSCALL_DEFINE2(mkdir, const char __user *, pathname, umode_t, mode) 2594 2594 { 2595 2595 return sys_mkdirat(AT_FDCWD, pathname, mode); 2596 2596 }
+6 -6
fs/open.c
··· 877 877 878 878 EXPORT_SYMBOL(fd_install); 879 879 880 - static inline int build_open_flags(int flags, int mode, struct open_flags *op) 880 + static inline int build_open_flags(int flags, umode_t mode, struct open_flags *op) 881 881 { 882 882 int lookup_flags = 0; 883 883 int acc_mode; ··· 948 948 * have to. But in generally you should not do this, so please move 949 949 * along, nothing to see here.. 950 950 */ 951 - struct file *filp_open(const char *filename, int flags, int mode) 951 + struct file *filp_open(const char *filename, int flags, umode_t mode) 952 952 { 953 953 struct open_flags op; 954 954 int lookup = build_open_flags(flags, mode, &op); ··· 970 970 } 971 971 EXPORT_SYMBOL(file_open_root); 972 972 973 - long do_sys_open(int dfd, const char __user *filename, int flags, int mode) 973 + long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode) 974 974 { 975 975 struct open_flags op; 976 976 int lookup = build_open_flags(flags, mode, &op); ··· 994 994 return fd; 995 995 } 996 996 997 - SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, int, mode) 997 + SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode) 998 998 { 999 999 long ret; 1000 1000 ··· 1008 1008 } 1009 1009 1010 1010 SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags, 1011 - int, mode) 1011 + umode_t, mode) 1012 1012 { 1013 1013 long ret; 1014 1014 ··· 1027 1027 * For backward compatibility? Maybe this should be moved 1028 1028 * into arch/i386 instead? 1029 1029 */ 1030 - SYSCALL_DEFINE2(creat, const char __user *, pathname, int, mode) 1030 + SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode) 1031 1031 { 1032 1032 return sys_open(pathname, O_CREAT | O_WRONLY | O_TRUNC, mode); 1033 1033 }
+2 -2
include/linux/compat.h
··· 422 422 asmlinkage long compat_sys_vmsplice(int fd, const struct compat_iovec __user *, 423 423 unsigned int nr_segs, unsigned int flags); 424 424 asmlinkage long compat_sys_open(const char __user *filename, int flags, 425 - int mode); 425 + umode_t mode); 426 426 asmlinkage long compat_sys_openat(unsigned int dfd, const char __user *filename, 427 - int flags, int mode); 427 + int flags, umode_t mode); 428 428 asmlinkage long compat_sys_open_by_handle_at(int mountdirfd, 429 429 struct file_handle __user *handle, 430 430 int flags);
+2 -2
include/linux/fs.h
··· 2054 2054 extern int do_fallocate(struct file *file, int mode, loff_t offset, 2055 2055 loff_t len); 2056 2056 extern long do_sys_open(int dfd, const char __user *filename, int flags, 2057 - int mode); 2058 - extern struct file *filp_open(const char *, int, int); 2057 + umode_t mode); 2058 + extern struct file *filp_open(const char *, int, umode_t); 2059 2059 extern struct file *file_open_root(struct dentry *, struct vfsmount *, 2060 2060 const char *, int); 2061 2061 extern struct file * dentry_open(struct dentry *, struct vfsmount *, int,
+5 -5
include/linux/syscalls.h
··· 517 517 loff_t __user *offset, size_t count); 518 518 asmlinkage long sys_readlink(const char __user *path, 519 519 char __user *buf, int bufsiz); 520 - asmlinkage long sys_creat(const char __user *pathname, int mode); 520 + asmlinkage long sys_creat(const char __user *pathname, umode_t mode); 521 521 asmlinkage long sys_open(const char __user *filename, 522 - int flags, int mode); 522 + int flags, umode_t mode); 523 523 asmlinkage long sys_close(unsigned int fd); 524 524 asmlinkage long sys_access(const char __user *filename, int mode); 525 525 asmlinkage long sys_vhangup(void); ··· 582 582 asmlinkage long sys_pwritev(unsigned long fd, const struct iovec __user *vec, 583 583 unsigned long vlen, unsigned long pos_l, unsigned long pos_h); 584 584 asmlinkage long sys_getcwd(char __user *buf, unsigned long size); 585 - asmlinkage long sys_mkdir(const char __user *pathname, int mode); 585 + asmlinkage long sys_mkdir(const char __user *pathname, umode_t mode); 586 586 asmlinkage long sys_chdir(const char __user *filename); 587 587 asmlinkage long sys_fchdir(unsigned int fd); 588 588 asmlinkage long sys_rmdir(const char __user *pathname); ··· 757 757 758 758 asmlinkage long sys_mknodat(int dfd, const char __user * filename, umode_t mode, 759 759 unsigned dev); 760 - asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, int mode); 760 + asmlinkage long sys_mkdirat(int dfd, const char __user * pathname, umode_t mode); 761 761 asmlinkage long sys_unlinkat(int dfd, const char __user * pathname, int flag); 762 762 asmlinkage long sys_symlinkat(const char __user * oldname, 763 763 int newdfd, const char __user * newname); ··· 773 773 asmlinkage long sys_fchownat(int dfd, const char __user *filename, uid_t user, 774 774 gid_t group, int flag); 775 775 asmlinkage long sys_openat(int dfd, const char __user *filename, int flags, 776 - int mode); 776 + umode_t mode); 777 777 asmlinkage long sys_newfstatat(int dfd, const char __user *filename, 778 778 struct stat __user *statbuf, int flag); 779 779 asmlinkage long sys_fstatat64(int dfd, const char __user *filename,