Lines Matching defs:mode
229 int vfs_fallocate(struct file *file, int mode, loff_t offset, loff_t len)
237 /* Return error if mode is not supported */
238 if (mode & ~FALLOC_FL_SUPPORTED_MASK)
242 if ((mode & (FALLOC_FL_PUNCH_HOLE | FALLOC_FL_ZERO_RANGE)) ==
247 if ((mode & FALLOC_FL_PUNCH_HOLE) &&
248 !(mode & FALLOC_FL_KEEP_SIZE))
252 if ((mode & FALLOC_FL_COLLAPSE_RANGE) &&
253 (mode & ~FALLOC_FL_COLLAPSE_RANGE))
257 if ((mode & FALLOC_FL_INSERT_RANGE) &&
258 (mode & ~FALLOC_FL_INSERT_RANGE))
261 /* Unshare range should only be used with allocate mode. */
262 if ((mode & FALLOC_FL_UNSHARE_RANGE) &&
263 (mode & ~(FALLOC_FL_UNSHARE_RANGE | FALLOC_FL_KEEP_SIZE)))
272 if ((mode & ~FALLOC_FL_KEEP_SIZE) && IS_APPEND(inode))
309 ret = file->f_op->fallocate(file, mode, offset, len);
326 int ksys_fallocate(int fd, int mode, loff_t offset, loff_t len)
332 error = vfs_fallocate(f.file, mode, offset, len);
338 SYSCALL_DEFINE4(fallocate, int, fd, int, mode, loff_t, offset, loff_t, len)
340 return ksys_fallocate(fd, mode, offset, len);
397 static long do_faccessat(int dfd, const char __user *filename, int mode, int flags)
405 if (mode & ~S_IRWXO) /* where's F_OK, X_OK, W_OK, R_OK? */
429 if ((mode & MAY_EXEC) && S_ISREG(inode->i_mode)) {
439 res = inode_permission(inode, mode | MAY_ACCESS);
441 if (res || !(mode & S_IWOTH) || special_file(inode->i_mode))
469 SYSCALL_DEFINE3(faccessat, int, dfd, const char __user *, filename, int, mode)
471 return do_faccessat(dfd, filename, mode, 0);
474 SYSCALL_DEFINE4(faccessat2, int, dfd, const char __user *, filename, int, mode,
477 return do_faccessat(dfd, filename, mode, flags);
480 SYSCALL_DEFINE2(access, const char __user *, filename, int, mode)
482 return do_faccessat(AT_FDCWD, filename, mode, 0);
566 int chmod_common(const struct path *path, umode_t mode)
578 error = security_path_chmod(path, mode);
581 newattrs.ia_mode = (mode & S_IALLUGO) | (inode->i_mode & ~S_IALLUGO);
595 int vfs_fchmod(struct file *file, umode_t mode)
598 return chmod_common(&file->f_path, mode);
601 SYSCALL_DEFINE2(fchmod, unsigned int, fd, umode_t, mode)
607 err = vfs_fchmod(f.file, mode);
613 static int do_fchmodat(int dfd, const char __user *filename, umode_t mode)
621 error = chmod_common(&path, mode);
632 umode_t, mode)
634 return do_fchmodat(dfd, filename, mode);
637 SYSCALL_DEFINE2(chmod, const char __user *, filename, umode_t, mode)
639 return do_fchmodat(AT_FDCWD, filename, mode);
978 inline struct open_how build_open_how(int flags, umode_t mode)
982 .mode = mode & S_IALLUGO,
990 how.mode = 0;
1025 /* Deal with the mode. */
1027 if (how->mode & ~S_IALLUGO)
1029 op->mode = how->mode | S_IFREG;
1031 if (how->mode != 0)
1033 op->mode = 0;
1118 * @mode: mode for the new file if O_CREAT is set, else ignored
1124 struct file *file_open_name(struct filename *name, int flags, umode_t mode)
1127 struct open_how how = build_open_how(flags, mode);
1139 * @mode: mode for the new file if O_CREAT is set, else ignored
1145 struct file *filp_open(const char *filename, int flags, umode_t mode)
1151 file = file_open_name(name, flags, mode);
1159 const char *filename, int flags, umode_t mode)
1162 struct open_how how = build_open_how(flags, mode);
1199 long do_sys_open(int dfd, const char __user *filename, int flags, umode_t mode)
1201 struct open_how how = build_open_how(flags, mode);
1206 SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
1210 return do_sys_open(AT_FDCWD, filename, flags, mode);
1214 umode_t, mode)
1218 return do_sys_open(dfd, filename, flags, mode);
1249 COMPAT_SYSCALL_DEFINE3(open, const char __user *, filename, int, flags, umode_t, mode)
1251 return do_sys_open(AT_FDCWD, filename, flags, mode);
1258 COMPAT_SYSCALL_DEFINE4(openat, int, dfd, const char __user *, filename, int, flags, umode_t, mode)
1260 return do_sys_open(dfd, filename, flags, mode);
1270 SYSCALL_DEFINE2(creat, const char __user *, pathname, umode_t, mode)
1276 return do_sys_open(AT_FDCWD, pathname, flags, mode);