copy_file_range
NR: 326
implementation
complexity: 199
similar syscall
accessed structs
func | struct | target | location | has_read | has_write |
---|---|---|---|---|---|
generic_copy_file_checks | file_operations | copy_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1501 | true | true |
generic_copy_file_checks | file_operations | copy_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1502 | true | true |
unsigned_offsets | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L39 | true | true |
unsigned_offsets | file_operations | fop_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L39 | true | true |
do_splice_read | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L965 | true | true |
do_splice_read | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L977 | true | true |
do_splice_read | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L985 | true | true |
do_splice_read | file | f_mapping | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L983 | true | true |
do_splice_read | address_space | host | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L983 | true | true |
do_splice_read | file | f_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L983 | true | true |
do_splice_read | inode | i_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L983 | true | true |
do_splice_read | file_operations | splice_read | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L977 | true | true |
do_splice_read | file_operations | splice_read | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L985 | true | true |
do_splice_read | pipe_inode_info | max_usage | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L971 | true | true |
do_splice_direct_actor | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1201 | true | true |
do_splice_direct_actor | file | f_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1204 | true | true |
do_splice_direct_actor | splice_desc | pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1209 | true | true |
splice_direct_to_actor | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1043 | true | true |
splice_direct_to_actor | task_struct | splice_pipe | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1063 | false | false |
splice_direct_to_actor | task_struct | splice_pipe | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1050 | true | true |
splice_direct_to_actor | splice_desc | total_len | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1094 | false | false |
splice_direct_to_actor | splice_desc | total_len | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1070 | true | true |
splice_direct_to_actor | splice_desc | flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1073 | true | true |
splice_direct_to_actor | splice_desc | flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1080 | true | true |
splice_direct_to_actor | splice_desc | flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1074 | true | true |
splice_direct_to_actor | splice_desc | flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1081 | true | true |
splice_direct_to_actor | splice_desc | flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1101 | true | true |
splice_direct_to_actor | splice_desc | pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1110 | false | false |
splice_direct_to_actor | splice_desc | pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1116 | false | false |
splice_direct_to_actor | splice_desc | pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1119 | false | false |
splice_direct_to_actor | splice_desc | pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1087 | true | true |
splice_direct_to_actor | pipe_inode_info | readers | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1061 | false | false |
splice_direct_to_actor | pipe_buffer | ops | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1146 | true | true |
splice_direct_to_actor | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | pipe_inode_info | bufs | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1144 | true | true |
splice_direct_to_actor | pipe_inode_info | ring_size | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1143 | true | true |
splice_direct_to_actor | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
splice_direct_to_actor | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L1125 | false | false |
do_splice_eof | splice_desc | splice_eof | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L951 | true | true |
do_splice_eof | splice_desc | splice_eof | https://elixir.bootlin.com/linux/v6.14.7/source/fs/splice.c#L952 | true | true |
file_inode | file | f_inode | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1184 | true | true |
file_end_write | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L3055 | true | true |
file_end_write | inode | i_mode | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L3053 | true | true |
file_start_write | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L3035 | true | true |
file_start_write | inode | i_mode | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L3033 | true | true |
file_accessed | file | f_path | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L2601 | false | false |
file_accessed | file | f_flags | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L2600 | true | true |
__sb_start_write | super_block | s_writers | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1785 | true | true |
__sb_start_write | sb_writers | rw_sem | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1785 | false | false |
__sb_end_write | super_block | s_writers | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1780 | true | true |
__sb_end_write | sb_writers | rw_sem | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1780 | false | false |
percpu_down_read | percpu_rw_semaphore | rss | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L62 | false | false |
percpu_down_read | percpu_rw_semaphore | read_count | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L63 | true | true |
percpu_up_read | percpu_rw_semaphore | rss | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L105 | false | false |
percpu_up_read | percpu_rw_semaphore | read_count | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L106 | true | true |
percpu_up_read | percpu_rw_semaphore | read_count | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L118 | true | true |
percpu_up_read | percpu_rw_semaphore | writer | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/percpu-rwsem.h#L119 | false | false |
i_size_read | inode | i_size | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L986 | false | false |
generic_file_rw_checks | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1784 | true | true |
generic_file_rw_checks | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1785 | true | true |
generic_file_rw_checks | file | f_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1786 | true | true |
generic_file_rw_checks | inode | i_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1779 | true | true |
generic_file_rw_checks | inode | i_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1781 | true | true |
generic_write_check_limits | file | f_mapping | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1700 | true | true |
generic_write_check_limits | address_space | host | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1700 | true | true |
generic_write_check_limits | file | f_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1712 | true | true |
generic_write_check_limits | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1701 | true | true |
generic_write_check_limits | super_block | s_maxbytes | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1701 | true | true |
vfs_copy_file_range | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1579 | true | true |
vfs_copy_file_range | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1580 | true | true |
vfs_copy_file_range | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1583 | true | true |
vfs_copy_file_range | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1584 | true | true |
vfs_copy_file_range | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1551 | true | true |
vfs_copy_file_range | file_operations | remap_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1583 | true | true |
vfs_copy_file_range | file_operations | remap_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1584 | true | true |
vfs_copy_file_range | file_operations | copy_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1579 | true | true |
vfs_copy_file_range | file_operations | copy_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1580 | true | true |
fd_empty | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/file.h#L47 | true | true |
security_file_permission | static_key_false | key | https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2844 | false | false |
pipe_is_empty | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | head | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
pipe_is_empty | (unnamed class/struct/union) | tail | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L226 | true | true |
__fget_files_rcu | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1039 | true | true |
__fget_files_rcu | file | f_ref | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1012 | false | false |
__fget_files_rcu | fdtable | max_fds | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L986 | true | true |
__fget_files_rcu | fdtable | fd | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L993 | true | true |
__fget_files_rcu | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L981 | false | false |
__fget_files_rcu | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1030 | false | false |
__fget_files_rcu | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L981 | true | true |
__fget_files_rcu | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1030 | true | true |
__fget_light | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1156 | true | true |
__fget_light | task_struct | files | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1142 | true | true |
__fget_light | files_struct | count | https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1154 | false | false |
files_lookup_fd_raw | fdtable | max_fds | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L75 | true | true |
files_lookup_fd_raw | fdtable | fd | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L84 | true | true |
files_lookup_fd_raw | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L74 | false | false |
files_lookup_fd_raw | files_struct | fdt | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L74 | true | true |
alloc_pipe_info | task_struct | cred | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L791 | true | true |
alloc_pipe_info | cred | user | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L791 | true | true |
alloc_pipe_info | pipe_inode_info | rd_wait | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L816 | false | false |
alloc_pipe_info | pipe_inode_info | bufs | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L812 | false | false |
alloc_pipe_info | pipe_inode_info | bufs | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L815 | true | true |
alloc_pipe_info | pipe_inode_info | ring_size | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L820 | false | false |
alloc_pipe_info | pipe_inode_info | max_usage | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L819 | false | false |
alloc_pipe_info | pipe_inode_info | user | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L822 | false | false |
alloc_pipe_info | pipe_inode_info | w_counter | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L818 | false | false |
alloc_pipe_info | pipe_inode_info | r_counter | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L818 | false | false |
alloc_pipe_info | pipe_inode_info | nr_accounted | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L821 | false | false |
alloc_pipe_info | pipe_inode_info | wr_wait | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L817 | false | false |
alloc_pipe_info | pipe_inode_info | mutex | https://elixir.bootlin.com/linux/v6.14.7/source/fs/pipe.c#L823 | false | false |
pipe_buf_release | pipe_buffer | ops | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L281 | false | false |
pipe_buf_release | pipe_buffer | ops | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L279 | true | true |
pipe_buf_release | pipe_buf_operations | release | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/pipe_fs_i.h#L282 | true | true |
fsnotify_file | file | f_path | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L127 | false | false |
fsnotify_file | file | f_mode | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L124 | true | true |
fsnotify_path | path | dentry | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L113 | true | true |
fsnotify_parent | dentry | d_flags | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L88 | true | true |
fsnotify_parent | dentry | d_parent | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L93 | true | true |
fsnotify_parent | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L81 | true | true |
fsnotify_parent | inode | i_mode | https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fsnotify.h#L84 | true | true |
__do_sys_copy_file_range | file | f_pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1680 | false | false |
__do_sys_copy_file_range | file | f_pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1687 | false | false |
__do_sys_copy_file_range | file | f_pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1657 | true | true |
__do_sys_copy_file_range | file | f_pos | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1664 | true | true |
__do_sys_copy_file_range | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1657 | true | true |
__do_sys_copy_file_range | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1664 | true | true |
__do_sys_copy_file_range | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1670 | true | true |
__do_sys_copy_file_range | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1680 | true | true |
__do_sys_copy_file_range | fd | word | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1687 | true | true |
generic_copy_file_checks | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1500 | true | true |
generic_copy_file_checks | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1501 | true | true |
generic_copy_file_checks | file | f_op | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1502 | true | true |
generic_copy_file_checks | inode | i_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1509 | true | true |
generic_copy_file_checks | inode | i_flags | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1512 | true | true |
generic_copy_file_checks | inode | i_sb | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1504 | true | true |
generic_copy_file_checks | file_operations | copy_file_range | https://elixir.bootlin.com/linux/v6.14.7/source/fs/read_write.c#L1500 | true | true |