• Home
  • Raw
  • Download

Lines Matching refs:f

167 	struct fd f;  in do_sys_ftruncate()  local
174 f = fdget(fd); in do_sys_ftruncate()
175 if (!f.file) in do_sys_ftruncate()
179 if (f.file->f_flags & O_LARGEFILE) in do_sys_ftruncate()
182 dentry = f.file->f_path.dentry; in do_sys_ftruncate()
183 mnt = f.file->f_path.mnt; in do_sys_ftruncate()
186 if (!S_ISREG(inode->i_mode) || !(f.file->f_mode & FMODE_WRITE)) in do_sys_ftruncate()
196 if (IS_APPEND(file_inode(f.file))) in do_sys_ftruncate()
200 error = locks_verify_truncate(inode, f.file, length); in do_sys_ftruncate()
202 error = security_path_truncate(&f.file->f_path); in do_sys_ftruncate()
204 error = do_truncate2(mnt, dentry, length, ATTR_MTIME|ATTR_CTIME, f.file); in do_sys_ftruncate()
207 fdput(f); in do_sys_ftruncate()
337 struct fd f = fdget(fd); in ksys_fallocate() local
340 if (f.file) { in ksys_fallocate()
341 error = vfs_fallocate(f.file, mode, offset, len); in ksys_fallocate()
342 fdput(f); in ksys_fallocate()
497 struct fd f = fdget_raw(fd); in SYSCALL_DEFINE1() local
501 if (!f.file) in SYSCALL_DEFINE1()
505 if (!d_can_lookup(f.file->f_path.dentry)) in SYSCALL_DEFINE1()
508 error = inode_permission2(f.file->f_path.mnt, file_inode(f.file), in SYSCALL_DEFINE1()
511 set_fs_pwd(current->fs, &f.file->f_path); in SYSCALL_DEFINE1()
513 fdput(f); in SYSCALL_DEFINE1()
587 struct fd f = fdget(fd); in ksys_fchmod() local
590 if (f.file) { in ksys_fchmod()
591 audit_file(f.file); in ksys_fchmod()
592 err = chmod_common(&f.file->f_path, mode); in ksys_fchmod()
593 fdput(f); in ksys_fchmod()
725 struct fd f = fdget(fd); in ksys_fchown() local
728 if (!f.file) in ksys_fchown()
731 error = mnt_want_write_file(f.file); in ksys_fchown()
734 audit_file(f.file); in ksys_fchown()
735 error = chown_common(&f.file->f_path, user, group); in ksys_fchown()
736 mnt_drop_write_file(f.file); in ksys_fchown()
738 fdput(f); in ksys_fchown()
748 static int do_dentry_open(struct file *f, in do_dentry_open() argument
755 path_get(&f->f_path); in do_dentry_open()
756 f->f_inode = inode; in do_dentry_open()
757 f->f_mapping = inode->i_mapping; in do_dentry_open()
760 f->f_wb_err = filemap_sample_wb_err(f->f_mapping); in do_dentry_open()
762 if (unlikely(f->f_flags & O_PATH)) { in do_dentry_open()
763 f->f_mode = FMODE_PATH | FMODE_OPENED; in do_dentry_open()
764 f->f_op = &empty_fops; in do_dentry_open()
769 if (unlikely(f->f_flags & FMODE_EXEC && !S_ISREG(inode->i_mode))) { in do_dentry_open()
774 if (f->f_mode & FMODE_WRITE && !special_file(inode->i_mode)) { in do_dentry_open()
778 error = __mnt_want_write(f->f_path.mnt); in do_dentry_open()
783 f->f_mode |= FMODE_WRITER; in do_dentry_open()
788 f->f_mode |= FMODE_ATOMIC_POS; in do_dentry_open()
790 f->f_op = fops_get(inode->i_fop); in do_dentry_open()
791 if (WARN_ON(!f->f_op)) { in do_dentry_open()
796 error = security_file_open(f); in do_dentry_open()
800 error = break_lease(locks_inode(f), f->f_flags); in do_dentry_open()
805 f->f_mode |= FMODE_LSEEK | FMODE_PREAD | FMODE_PWRITE; in do_dentry_open()
807 open = f->f_op->open; in do_dentry_open()
809 error = open(inode, f); in do_dentry_open()
813 f->f_mode |= FMODE_OPENED; in do_dentry_open()
814 if ((f->f_mode & (FMODE_READ | FMODE_WRITE)) == FMODE_READ) in do_dentry_open()
816 if ((f->f_mode & FMODE_READ) && in do_dentry_open()
817 likely(f->f_op->read || f->f_op->read_iter)) in do_dentry_open()
818 f->f_mode |= FMODE_CAN_READ; in do_dentry_open()
819 if ((f->f_mode & FMODE_WRITE) && in do_dentry_open()
820 likely(f->f_op->write || f->f_op->write_iter)) in do_dentry_open()
821 f->f_mode |= FMODE_CAN_WRITE; in do_dentry_open()
823 f->f_write_hint = WRITE_LIFE_NOT_SET; in do_dentry_open()
824 f->f_flags &= ~(O_CREAT | O_EXCL | O_NOCTTY | O_TRUNC); in do_dentry_open()
826 file_ra_state_init(&f->f_ra, f->f_mapping->host->i_mapping); in do_dentry_open()
829 if (f->f_flags & O_DIRECT) { in do_dentry_open()
830 if (!f->f_mapping->a_ops || !f->f_mapping->a_ops->direct_IO) in do_dentry_open()
838 if ((f->f_mode & FMODE_WRITE) && filemap_nr_thps(inode->i_mapping)) in do_dentry_open()
846 fops_put(f->f_op); in do_dentry_open()
847 if (f->f_mode & FMODE_WRITER) { in do_dentry_open()
849 __mnt_drop_write(f->f_path.mnt); in do_dentry_open()
852 path_put(&f->f_path); in do_dentry_open()
853 f->f_path.mnt = NULL; in do_dentry_open()
854 f->f_path.dentry = NULL; in do_dentry_open()
855 f->f_inode = NULL; in do_dentry_open()
933 struct file *f; in dentry_open() local
940 f = alloc_empty_file(flags, cred); in dentry_open()
941 if (!IS_ERR(f)) { in dentry_open()
942 error = vfs_open(path, f); in dentry_open()
944 fput(f); in dentry_open()
945 f = ERR_PTR(error); in dentry_open()
948 return f; in dentry_open()
955 struct file *f = alloc_empty_file_noaccount(flags, cred); in open_with_fake_path() local
956 if (!IS_ERR(f)) { in open_with_fake_path()
959 f->f_path = *path; in open_with_fake_path()
960 error = do_dentry_open(f, inode, NULL); in open_with_fake_path()
962 fput(f); in open_with_fake_path()
963 f = ERR_PTR(error); in open_with_fake_path()
966 return f; in open_with_fake_path()
1109 struct file *f = do_filp_open(dfd, tmp, &op); in do_sys_open() local
1110 if (IS_ERR(f)) { in do_sys_open()
1112 fd = PTR_ERR(f); in do_sys_open()
1114 fsnotify_open(f); in do_sys_open()
1115 fd_install(fd, f); in do_sys_open()