Lines Matching refs:f
160 struct fd f; in do_sys_ftruncate() local
167 f = fdget(fd); in do_sys_ftruncate()
168 if (!f.file) in do_sys_ftruncate()
172 if (f.file->f_flags & O_LARGEFILE) in do_sys_ftruncate()
175 dentry = f.file->f_path.dentry; in do_sys_ftruncate()
178 if (!S_ISREG(inode->i_mode) || !(f.file->f_mode & FMODE_WRITE)) in do_sys_ftruncate()
188 if (IS_APPEND(file_inode(f.file))) in do_sys_ftruncate()
192 error = locks_verify_truncate(inode, f.file, length); in do_sys_ftruncate()
194 error = security_path_truncate(&f.file->f_path); in do_sys_ftruncate()
196 error = do_truncate(dentry, length, ATTR_MTIME|ATTR_CTIME, f.file); in do_sys_ftruncate()
199 fdput(f); in do_sys_ftruncate()
329 struct fd f = fdget(fd); in ksys_fallocate() local
332 if (f.file) { in ksys_fallocate()
333 error = vfs_fallocate(f.file, mode, offset, len); in ksys_fallocate()
334 fdput(f); in ksys_fallocate()
514 struct fd f = fdget_raw(fd); in SYSCALL_DEFINE1() local
518 if (!f.file) in SYSCALL_DEFINE1()
522 if (!d_can_lookup(f.file->f_path.dentry)) in SYSCALL_DEFINE1()
525 error = inode_permission(file_inode(f.file), MAY_EXEC | MAY_CHDIR); in SYSCALL_DEFINE1()
527 set_fs_pwd(current->fs, &f.file->f_path); in SYSCALL_DEFINE1()
529 fdput(f); in SYSCALL_DEFINE1()
604 struct fd f = fdget(fd); in SYSCALL_DEFINE2() local
607 if (f.file) { in SYSCALL_DEFINE2()
608 err = vfs_fchmod(f.file, mode); in SYSCALL_DEFINE2()
609 fdput(f); in SYSCALL_DEFINE2()
749 struct fd f = fdget(fd); in ksys_fchown() local
752 if (f.file) { in ksys_fchown()
753 error = vfs_fchown(f.file, user, group); in ksys_fchown()
754 fdput(f); in ksys_fchown()
764 static int do_dentry_open(struct file *f, in do_dentry_open() argument
771 path_get(&f->f_path); in do_dentry_open()
772 f->f_inode = inode; in do_dentry_open()
773 f->f_mapping = inode->i_mapping; in do_dentry_open()
774 f->f_wb_err = filemap_sample_wb_err(f->f_mapping); in do_dentry_open()
775 f->f_sb_err = file_sample_sb_err(f); in do_dentry_open()
777 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
778 f->f_mode = FMODE_PATH | FMODE_OPENED; in do_dentry_open()
779 f->f_op = &empty_fops; in do_dentry_open()
783 if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
787 error = __mnt_want_write(f->f_path.mnt); in do_dentry_open()
792 f->f_mode |= FMODE_WRITER; in do_dentry_open()
797 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
799 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
800 if (WARN_ON(!f->f_op)) { in do_dentry_open()
804 trace_android_vh_check_file_open(f); in do_dentry_open()
806 error = security_file_open(f); in do_dentry_open()
810 error = break_lease(locks_inode(f), f->f_flags); in do_dentry_open()
815 f->f_mode |= FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; in do_dentry_open()
817 open = f->f_op->open; in do_dentry_open()
819 error = open(inode, f); in do_dentry_open()
823 f->f_mode |= FMODE_OPENED; in do_dentry_open()
824 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) in do_dentry_open()
826 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
827 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
828 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
829 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
830 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
831 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
833 f->f_write_hint = WRITE_LIFE_NOT_SET; in do_dentry_open()
834 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
836 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
839 if (f->f_flags & O_DIRECT) { in do_dentry_open()
840 if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO) in do_dentry_open()
848 if (f->f_mode & FMODE_WRITE) { in do_dentry_open()
865 fops_put(f->f_op); in do_dentry_open()
866 if (f->f_mode & FMODE_WRITER) { in do_dentry_open()
868 __mnt_drop_write(f->f_path.mnt); in do_dentry_open()
871 path_put(&f->f_path); in do_dentry_open()
872 f->f_path.mnt = NULL; in do_dentry_open()
873 f->f_path.dentry = NULL; in do_dentry_open()
874 f->f_inode = NULL; in do_dentry_open()
949 struct file *f; in dentry_open() local
956 f = alloc_empty_file(flags, cred); in dentry_open()
957 if (!IS_ERR(f)) { in dentry_open()
958 error = vfs_open(path, f); in dentry_open()
960 fput(f); in dentry_open()
961 f = ERR_PTR(error); in dentry_open()
964 return f; in dentry_open()
971 struct file *f = alloc_empty_file_noaccount(flags, cred); in open_with_fake_path() local
972 if (!IS_ERR(f)) { in open_with_fake_path()
975 f->f_path = *path; in open_with_fake_path()
976 error = do_dentry_open(f, inode, NULL); in open_with_fake_path()
978 fput(f); in open_with_fake_path()
979 f = ERR_PTR(error); in open_with_fake_path()
982 return f; in open_with_fake_path()
1217 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_openat2() local
1218 if (IS_ERR(f)) { in do_sys_openat2()
1220 fd = PTR_ERR(f); in do_sys_openat2()
1222 fsnotify_open(f); in do_sys_openat2()
1223 fd_install(fd, f); in do_sys_openat2()