ftruncate

NR: 77

implementation

Bootlin

complexity: 161

similar syscall

accessed structs

func struct target location has_read has_write
timestamp_truncate timespec64 tv_sec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2735 false false
timestamp_truncate timespec64 tv_sec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2736 true true
timestamp_truncate timespec64 tv_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2737 false false
timestamp_truncate timespec64 tv_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2743 false false
timestamp_truncate timespec64 tv_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2745 true true
timestamp_truncate timespec64 tv_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2745 true true
timestamp_truncate inode i_sb https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2732 true true
timestamp_truncate super_block s_time_max https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2736 true true
timestamp_truncate super_block s_time_min https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2736 true true
timestamp_truncate super_block s_time_gran https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2733 true true
do_sys_ftruncate fd word https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L207 true true
fd_empty fd word https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/file.h#L47 true true
security_file_truncate static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L3146 false false
security_inode_need_killpriv static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2638 false false
security_inode_post_setattr inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2360 true true
security_inode_post_setattr static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2362 false false
security_inode_setattr inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2343 true true
security_inode_setattr static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2345 false false
dentry_needs_remove_privs inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2216 true true
do_ftruncate file f_path https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L187 false false
do_ftruncate file f_path https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L170 true true
do_ftruncate path dentry https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L170 true true
do_ftruncate dentry d_inode https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L171 true true
do_ftruncate file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L172 true true
do_ftruncate file f_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L167 true true
do_ftruncate inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L180 true true
do_ftruncate inode i_sb https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L191 true true
do_ftruncate inode i_sb https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L194 true true
do_ftruncate inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L172 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
inode_lock inode i_rwsem https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L877 false false
file_inode file f_inode https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1184 true true
mnt_idmap vfsmount mnt_idmap https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/mount.h#L78 false false
mnt_idmap vfsmount mnt_idmap https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/mount.h#L78 true true
d_inode dentry d_inode https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/dcache.h#L539 true true
file_mnt_idmap file f_path https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L2781 true true
file_mnt_idmap path mnt https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L2781 true true
i_uid_into_vfsuid inode i_uid https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1498 true true
i_gid_into_vfsgid inode i_gid https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1550 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
inode_is_locked inode i_rwsem https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L907 false false
may_setattr inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L377 true true
may_setattr inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L386 true true
simple_setattr iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/libfs.c#L895 true true
simple_setattr iattr ia_size https://elixir.bootlin.com/linux/v6.14.7/source/fs/libfs.c#L896 true true
setattr_should_drop_suidgid inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L66 true true
notify_change dentry d_inode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L429 true true
notify_change iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L433 true true
notify_change iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L510 true true
notify_change iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L481 true true
notify_change iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L497 true true
notify_change iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L504 true true
notify_change (unnamed class/struct/union) ia_vfsgid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L523 true true
notify_change (unnamed class/struct/union) ia_vfsuid https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L519 true true
notify_change iattr ia_ctime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L466 false false
notify_change iattr ia_mtime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L472 false false
notify_change iattr ia_mtime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L474 false false
notify_change iattr ia_mtime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L474 true true
notify_change iattr ia_atime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L468 false false
notify_change iattr ia_atime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L470 false false
notify_change iattr ia_atime https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L470 true true
notify_change iattr ia_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L498 false false
notify_change iattr ia_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L505 false false
notify_change iattr ia_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L460 true true
notify_change iattr ia_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L507 true true
notify_change inode i_flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L461 true true
notify_change inode i_sb https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L518 true true
notify_change inode i_sb https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L522 true true
notify_change inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L430 true true
notify_change inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L456 true true
notify_change inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L498 true true
notify_change inode i_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L505 true true
notify_change super_block s_user_ns https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L518 true true
notify_change super_block s_user_ns https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L522 true true
notify_change inode i_op https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L551 true true
notify_change inode i_op https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L552 true true
notify_change inode_operations setattr https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L551 true true
notify_change inode_operations setattr https://elixir.bootlin.com/linux/v6.14.7/source/fs/attr.c#L552 true true
do_truncate dentry d_inode https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L63 true true
do_truncate dentry d_inode https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L66 true true
do_truncate iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L50 false false
do_truncate iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L53 true true
do_truncate iattr ia_valid https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L61 true true
do_truncate iattr ia_file https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L52 false false
do_truncate iattr ia_size https://elixir.bootlin.com/linux/v6.14.7/source/fs/open.c#L49 false false
current_time timespec64 tv_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2313 true true
current_time inode i_ctime_nsec https://elixir.bootlin.com/linux/v6.14.7/source/fs/inode.c#L2307 false false
inode_unlock inode i_rwsem https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L882 false false