Lines Matching refs:file
95 cpy = ofdt->max_fds * sizeof(struct file *); in copy_fdtable()
96 set = (nfdt->max_fds - ofdt->max_fds) * sizeof(struct file *); in copy_fdtable()
115 nr /= (1024 / sizeof(struct file *)); in alloc_fdtable()
117 nr *= (1024 / sizeof(struct file *)); in alloc_fdtable()
133 data = alloc_fdmem(nr * sizeof(struct file *)); in alloc_fdtable()
292 struct file **old_fds, **new_fds; in dup_fd()
356 struct file *f = *old_fds++; in dup_fd()
373 memset(new_fds, 0, (new_fdt->max_fds - open_files) * sizeof(struct file *)); in dup_fd()
403 struct file * file = xchg(&fdt->fd[i], NULL); in close_files() local
404 if (file) { in close_files()
405 filp_close(file, files); in close_files()
604 struct file *file) in __fd_install() argument
620 rcu_assign_pointer(fdt->fd[fd], file); in __fd_install()
624 void fd_install(unsigned int fd, struct file *file) in fd_install() argument
626 __fd_install(current->files, fd, file); in fd_install()
636 struct file *file; in __close_fd() local
643 file = fdt->fd[fd]; in __close_fd()
644 if (!file) in __close_fd()
650 return filp_close(file, files); in __close_fd()
675 struct file *file; in do_close_on_exec() local
678 file = fdt->fd[fd]; in do_close_on_exec()
679 if (!file) in do_close_on_exec()
684 filp_close(file, files); in do_close_on_exec()
693 static struct file *__fget(unsigned int fd, fmode_t mask) in __fget()
696 struct file *file; in __fget() local
700 file = fcheck_files(files, fd); in __fget()
701 if (file) { in __fget()
706 if (file->f_mode & mask) in __fget()
707 file = NULL; in __fget()
708 else if (!get_file_rcu(file)) in __fget()
713 return file; in __fget()
716 struct file *fget(unsigned int fd) in fget()
722 struct file *fget_raw(unsigned int fd) in fget_raw()
747 struct file *file; in __fget_light() local
750 file = __fcheck_files(files, fd); in __fget_light()
751 if (!file || unlikely(file->f_mode & mask)) in __fget_light()
753 return (unsigned long)file; in __fget_light()
755 file = __fget(fd, mask); in __fget_light()
756 if (!file) in __fget_light()
758 return FDPUT_FPUT | (unsigned long)file; in __fget_light()
775 struct file *file = (struct file *)(v & ~3); in __fdget_pos() local
777 if (file && (file->f_mode & FMODE_ATOMIC_POS)) { in __fdget_pos()
778 if (file_count(file) > 1) { in __fdget_pos()
780 mutex_lock(&file->f_pos_lock); in __fdget_pos()
818 struct file *file, unsigned fd, unsigned flags) in do_dup2() argument
821 struct file *tofree; in do_dup2()
842 get_file(file); in do_dup2()
843 rcu_assign_pointer(fdt->fd[fd], file); in do_dup2()
861 int replace_fd(unsigned fd, struct file *file, unsigned flags) in replace_fd() argument
866 if (!file) in replace_fd()
876 return do_dup2(files, file, fd, flags); in replace_fd()
886 struct file *file; in SYSCALL_DEFINE3() local
900 file = fcheck(oldfd); in SYSCALL_DEFINE3()
901 if (unlikely(!file)) in SYSCALL_DEFINE3()
908 return do_dup2(files, file, newfd, flags); in SYSCALL_DEFINE3()
935 struct file *file = fget_raw(fildes); in SYSCALL_DEFINE1() local
937 if (file) { in SYSCALL_DEFINE1()
940 fd_install(ret, file); in SYSCALL_DEFINE1()
942 fput(file); in SYSCALL_DEFINE1()
947 int f_dupfd(unsigned int from, struct file *file, unsigned flags) in f_dupfd() argument
954 get_file(file); in f_dupfd()
955 fd_install(err, file); in f_dupfd()
961 int (*f)(const void *, struct file *, unsigned), in iterate_fd() argument
970 struct file *file; in iterate_fd() local
971 file = rcu_dereference_check_fdtable(files, fdt->fd[n]); in iterate_fd()
972 if (!file) in iterate_fd()
974 res = f(p, file, n); in iterate_fd()