Lines Matching refs:f

206 	CLASS(fd, f)(fd);  in do_sys_ftruncate()
207 if (fd_empty(f)) in do_sys_ftruncate()
210 return do_ftruncate(fd_file(f), length, small); in do_sys_ftruncate()
361 CLASS(fd, f)(fd); in ksys_fallocate()
363 if (fd_empty(f)) in ksys_fallocate()
366 return vfs_fallocate(fd_file(f), mode, offset, len); in ksys_fallocate()
583 CLASS(fd_raw, f)(fd); in SYSCALL_DEFINE1()
586 if (fd_empty(f)) in SYSCALL_DEFINE1()
589 if (!d_can_lookup(fd_file(f)->f_path.dentry)) in SYSCALL_DEFINE1()
592 error = file_permission(fd_file(f), MAY_EXEC | MAY_CHDIR); in SYSCALL_DEFINE1()
594 set_fs_pwd(current->fs, &fd_file(f)->f_path); in SYSCALL_DEFINE1()
672 CLASS(fd, f)(fd); in SYSCALL_DEFINE2()
674 if (fd_empty(f)) in SYSCALL_DEFINE2()
677 return vfs_fchmod(fd_file(f), mode); in SYSCALL_DEFINE2()
866 CLASS(fd, f)(fd); in ksys_fchown()
868 if (fd_empty(f)) in ksys_fchown()
871 return vfs_fchown(fd_file(f), user, group); in ksys_fchown()
879 static inline int file_get_write_access(struct file *f) in file_get_write_access() argument
883 error = get_write_access(f->f_inode); in file_get_write_access()
886 error = mnt_get_write_access(f->f_path.mnt); in file_get_write_access()
889 if (unlikely(f->f_mode & FMODE_BACKING)) { in file_get_write_access()
890 error = mnt_get_write_access(backing_file_user_path(f)->mnt); in file_get_write_access()
897 mnt_put_write_access(f->f_path.mnt); in file_get_write_access()
899 put_write_access(f->f_inode); in file_get_write_access()
903 static int do_dentry_open(struct file *f, in do_dentry_open() argument
907 struct inode *inode = f->f_path.dentry->d_inode; in do_dentry_open()
910 path_get(&f->f_path); in do_dentry_open()
911 f->f_inode = inode; in do_dentry_open()
912 f->f_mapping = inode->i_mapping; in do_dentry_open()
913 f->f_wb_err = filemap_sample_wb_err(f->f_mapping); in do_dentry_open()
914 f->f_sb_err = file_sample_sb_err(f); in do_dentry_open()
916 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
917 f->f_mode = FMODE_PATH | FMODE_OPENED; in do_dentry_open()
918 file_set_fsnotify_mode(f, FMODE_NONOTIFY); in do_dentry_open()
919 f->f_op = &empty_fops; in do_dentry_open()
923 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) { in do_dentry_open()
925 } else if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
926 error = file_get_write_access(f); in do_dentry_open()
929 f->f_mode |= FMODE_WRITER; in do_dentry_open()
934 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
936 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
937 if (WARN_ON(!f->f_op)) { in do_dentry_open()
942 error = security_file_open(f); in do_dentry_open()
952 error = fsnotify_open_perm_and_set_mode(f); in do_dentry_open()
956 error = break_lease(file_inode(f), f->f_flags); in do_dentry_open()
961 f->f_mode |= FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; in do_dentry_open()
963 open = f->f_op->open; in do_dentry_open()
965 error = open(inode, f); in do_dentry_open()
969 f->f_mode |= FMODE_OPENED; in do_dentry_open()
970 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
971 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
972 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
973 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
974 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
975 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
976 if ((f->f_mode & FMODE_LSEEK) && !f->f_op->llseek) in do_dentry_open()
977 f->f_mode &= ~FMODE_LSEEK; in do_dentry_open()
978 if (f->f_mapping->a_ops && f->f_mapping->a_ops->direct_IO) in do_dentry_open()
979 f->f_mode |= FMODE_CAN_ODIRECT; in do_dentry_open()
981 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
982 f->f_iocb_flags = iocb_flags(f); in do_dentry_open()
984 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
986 if ((f->f_flags & O_DIRECT) && !(f->f_mode & FMODE_CAN_ODIRECT)) in do_dentry_open()
993 if (f->f_mode & FMODE_WRITE) { in do_dentry_open()
1021 fops_put(f->f_op); in do_dentry_open()
1022 put_file_access(f); in do_dentry_open()
1024 path_put(&f->f_path); in do_dentry_open()
1025 f->f_path.mnt = NULL; in do_dentry_open()
1026 f->f_path.dentry = NULL; in do_dentry_open()
1027 f->f_inode = NULL; in do_dentry_open()
1111 struct file *f; in dentry_open() local
1116 f = alloc_empty_file(flags, cred); in dentry_open()
1117 if (!IS_ERR(f)) { in dentry_open()
1118 error = vfs_open(path, f); in dentry_open()
1120 fput(f); in dentry_open()
1121 f = ERR_PTR(error); in dentry_open()
1124 return f; in dentry_open()
1131 struct file *f = alloc_empty_file(flags, cred); in dentry_open_nonotify() local
1132 if (!IS_ERR(f)) { in dentry_open_nonotify()
1135 file_set_fsnotify_mode(f, FMODE_NONOTIFY); in dentry_open_nonotify()
1136 error = vfs_open(path, f); in dentry_open_nonotify()
1138 fput(f); in dentry_open_nonotify()
1139 f = ERR_PTR(error); in dentry_open_nonotify()
1142 return f; in dentry_open_nonotify()
1165 struct file *f; in dentry_create() local
1168 f = alloc_empty_file(flags, cred); in dentry_create()
1169 if (IS_ERR(f)) in dentry_create()
1170 return f; in dentry_create()
1176 error = vfs_open(path, f); in dentry_create()
1179 fput(f); in dentry_create()
1182 return f; in dentry_create()
1201 struct file *f; in kernel_file_open() local
1204 f = alloc_empty_file_noaccount(flags, cred); in kernel_file_open()
1205 if (IS_ERR(f)) in kernel_file_open()
1206 return f; in kernel_file_open()
1208 error = vfs_open(path, f); in kernel_file_open()
1210 fput(f); in kernel_file_open()
1213 return f; in kernel_file_open()
1435 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_openat2() local
1436 if (IS_ERR(f)) { in do_sys_openat2()
1438 fd = PTR_ERR(f); in do_sys_openat2()
1440 fd_install(fd, f); in do_sys_openat2()