• Home
  • Raw
  • Download

Lines Matching refs:file

77 	cpy = ofdt->max_fds * sizeof(struct file *);  in copy_fdtable()
78 set = (nfdt->max_fds - ofdt->max_fds) * sizeof(struct file *); in copy_fdtable()
97 nr /= (1024 / sizeof(struct file *)); in alloc_fdtable()
99 nr *= (1024 / sizeof(struct file *)); in alloc_fdtable()
115 data = kvmalloc_array(nr, sizeof(struct file *), GFP_KERNEL_ACCOUNT); in alloc_fdtable()
275 struct file **old_fds, **new_fds; in dup_fd()
339 struct file *f = *old_fds++; in dup_fd()
356 memset(new_fds, 0, (new_fdt->max_fds - open_files) * sizeof(struct file *)); in dup_fd()
386 struct file * file = xchg(&fdt->fd[i], NULL); in close_files() local
387 if (file) { in close_files()
388 filp_close(file, files); in close_files()
588 struct file *file) in __fd_install() argument
599 rcu_assign_pointer(fdt->fd[fd], file); in __fd_install()
607 rcu_assign_pointer(fdt->fd[fd], file); in __fd_install()
611 void fd_install(unsigned int fd, struct file *file) in fd_install() argument
613 __fd_install(current->files, fd, file); in fd_install()
623 struct file *file; in __close_fd() local
630 file = fdt->fd[fd]; in __close_fd()
631 if (!file) in __close_fd()
636 return filp_close(file, files); in __close_fd()
647 int __close_fd_get_file(unsigned int fd, struct file **res) in __close_fd_get_file()
650 struct file *file; in __close_fd_get_file() local
657 file = fdt->fd[fd]; in __close_fd_get_file()
658 if (!file) in __close_fd_get_file()
663 get_file(file); in __close_fd_get_file()
664 *res = file; in __close_fd_get_file()
665 return filp_close(file, files); in __close_fd_get_file()
691 struct file *file; in do_close_on_exec() local
694 file = fdt->fd[fd]; in do_close_on_exec()
695 if (!file) in do_close_on_exec()
700 filp_close(file, files); in do_close_on_exec()
709 static struct file *__fget(unsigned int fd, fmode_t mask, unsigned int refs) in __fget()
712 struct file *file; in __fget() local
716 file = fcheck_files(files, fd); in __fget()
717 if (file) { in __fget()
722 if (file->f_mode & mask) in __fget()
723 file = NULL; in __fget()
724 else if (!get_file_rcu_many(file, refs)) in __fget()
729 return file; in __fget()
732 struct file *fget_many(unsigned int fd, unsigned int refs) in fget_many()
737 struct file *fget(unsigned int fd) in fget()
743 struct file *fget_raw(unsigned int fd) in fget_raw()
768 struct file *file; in __fget_light() local
771 file = __fcheck_files(files, fd); in __fget_light()
772 if (!file || unlikely(file->f_mode & mask)) in __fget_light()
774 return (unsigned long)file; in __fget_light()
776 file = __fget(fd, mask, 1); in __fget_light()
777 if (!file) in __fget_light()
779 return FDPUT_FPUT | (unsigned long)file; in __fget_light()
796 struct file *file = (struct file *)(v & ~3); in __fdget_pos() local
798 if (file && (file->f_mode & FMODE_ATOMIC_POS)) { in __fdget_pos()
799 if (file_count(file) > 1) { in __fdget_pos()
801 mutex_lock(&file->f_pos_lock); in __fdget_pos()
807 void __f_unlock_pos(struct file *f) in __f_unlock_pos()
844 struct file *file, unsigned fd, unsigned flags) in do_dup2() argument
847 struct file *tofree; in do_dup2()
868 get_file(file); in do_dup2()
869 rcu_assign_pointer(fdt->fd[fd], file); in do_dup2()
887 int replace_fd(unsigned fd, struct file *file, unsigned flags) in replace_fd() argument
892 if (!file) in replace_fd()
902 return do_dup2(files, file, fd, flags); in replace_fd()
912 struct file *file; in ksys_dup3() local
926 file = fcheck(oldfd); in ksys_dup3()
927 if (unlikely(!file)) in ksys_dup3()
934 return do_dup2(files, file, newfd, flags); in ksys_dup3()
966 struct file *file = fget_raw(fildes); in ksys_dup() local
968 if (file) { in ksys_dup()
971 fd_install(ret, file); in ksys_dup()
973 fput(file); in ksys_dup()
983 int f_dupfd(unsigned int from, struct file *file, unsigned flags) in f_dupfd() argument
990 get_file(file); in f_dupfd()
991 fd_install(err, file); in f_dupfd()
997 int (*f)(const void *, struct file *, unsigned), in iterate_fd() argument
1006 struct file *file; in iterate_fd() local
1007 file = rcu_dereference_check_fdtable(files, fdt->fd[n]); in iterate_fd()
1008 if (!file) in iterate_fd()
1010 res = f(p, file, n); in iterate_fd()