pidfd_getfd

NR: 438

implementation

Bootlin

complexity: 199

similar syscall

accessed structs

func struct target location has_read has_write
__ptrace_may_access cred user_ns https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L324 true true
task_cls_classid cgroup_cls_state css https://elixir.bootlin.com/linux/v6.14.7/source/include/net/cls_cgroup.h#L34 true true
task_cls_classid cgroup_cls_state classid https://elixir.bootlin.com/linux/v6.14.7/source/include/net/cls_cgroup.h#L34 true true
__ptrace_may_access cred uid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L319 true true
__ptrace_may_access cred uid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L313 true true
__ptrace_may_access cred gid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L322 true true
__ptrace_may_access cred gid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L314 true true
__ptrace_may_access cred suid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L318 true true
__ptrace_may_access cred sgid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L321 true true
__ptrace_may_access cred euid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L317 true true
__ptrace_may_access cred egid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L320 true true
__ptrace_may_access cred fsuid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L302 true true
__ptrace_may_access cred fsgid https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L303 true true
__ptrace_may_access task_struct mm https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L340 true true
__ptrace_may_access task_struct real_cred https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L316 true true
__ptrace_may_access task_struct real_cred https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L316 false false
__ptrace_may_access task_struct cred https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L278 true true
__ptrace_may_access (unnamed class/struct/union) user_ns https://elixir.bootlin.com/linux/v6.14.7/source/kernel/ptrace.c#L343 true true
__pidfd_fget task_struct signal https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L793 true true
__pidfd_fget task_struct signal https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L784 true true
__pidfd_fget task_struct flags https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L808 true true
__pidfd_fget signal_struct exec_update_lock https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L793 false false
__pidfd_fget signal_struct exec_update_lock https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L784 false false
__do_sys_pidfd_getfd fd word https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L867 true true
__irq_work_queue_local irq_work node https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L107 true true
__irq_work_queue_local irq_work node https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L95 true true
__irq_work_queue_local __call_single_node llist https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L107 false false
__irq_work_queue_local (unnamed class/struct/union) a_flags https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L95 false false
irq_work_claim irq_work node https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L61 true true
irq_work_claim (unnamed class/struct/union) a_flags https://elixir.bootlin.com/linux/v6.14.7/source/kernel/irq_work.c#L61 false false
task_netprioidx cgroup_subsys_state id https://elixir.bootlin.com/linux/v6.14.7/source/include/net/netprio_cgroup.h#L29 true true
backing_file backing_file file https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L57 true true
init_task_work callback_head func https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/task_work.h#L13 false false
file_free file f_cred https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L71 true true
file_free file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L72 true true
file_free file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L69 true true
__clear_open_fd fdtable full_fds_bits https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L327 true true
__clear_open_fd fdtable full_fds_bits https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L326 true true
__clear_open_fd fdtable open_fds https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L324 true true
__put_unused_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L609 true true
__put_unused_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L610 false false
__put_unused_fd files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L607 true true
__put_unused_fd files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L607 false false
__put_unused_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L607 false false
fget_task task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1087 true true
fget_task task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1086 true true
files_lookup_fd_raw files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L74 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 fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L84 true true
files_lookup_fd_raw fdtable max_fds https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fdtable.h#L75 true true
__fget_light files_struct count https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1154 false false
__fget_light task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1142 true true
__fget_light file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1156 true true
__fget_files_rcu files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1030 true true
__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 false false
__fget_files_rcu files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L981 false false
__fget_files_rcu fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L993 true true
__fget_files_rcu fdtable max_fds https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L986 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 file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L1039 true true
alloc_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L583 true true
alloc_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L562 true true
alloc_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L561 true true
alloc_fd files_struct next_fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L584 false false
alloc_fd files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L559 true true
alloc_fd files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L559 false false
alloc_fd fdtable max_fds https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L575 true true
alloc_fd fdtable max_fds https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L564 true true
alloc_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L590 false false
alloc_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L559 false false
alloc_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L557 false false
alloc_fd task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L552 true true
sock_from_file file private_data https://elixir.bootlin.com/linux/v6.14.7/source/net/socket.c#L520 true true
sock_from_file file f_op https://elixir.bootlin.com/linux/v6.14.7/source/net/socket.c#L519 true true
put_unused_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L618 false false
put_unused_fd files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L616 false false
put_unused_fd task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L615 true true
fd_install files_struct resize_in_progress https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L649 true true
fd_install files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L660 true true
fd_install files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L652 true true
fd_install files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L660 false false
fd_install files_struct fdt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L652 false false
fd_install fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L662 true true
fd_install fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L661 true true
fd_install fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L653 true true
fd_install fdtable fd https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L654 true true
fd_install files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L655 false false
fd_install files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L651 false false
fd_install files_struct file_lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L652 false false
fd_install task_struct files https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L641 true true
fd_install file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L644 true true
__receive_sock sock sk_cgrp_data https://elixir.bootlin.com/linux/v6.14.7/source/net/core/sock.c#L3458 false false
__receive_sock sock sk_cgrp_data https://elixir.bootlin.com/linux/v6.14.7/source/net/core/sock.c#L3457 false false
__receive_sock socket sk https://elixir.bootlin.com/linux/v6.14.7/source/net/core/sock.c#L3458 true true
__receive_sock socket sk https://elixir.bootlin.com/linux/v6.14.7/source/net/core/sock.c#L3457 true true
fput task_struct flags https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L523 true true
fput (unnamed class/struct/union) f_task_work https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L525 false false
fput (unnamed class/struct/union) f_task_work https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L524 false false
fput (unnamed class/struct/union) f_llist https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L534 false false
fput file f_ref https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L516 false false
fput file f_mode https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L519 true true
task_work_add callback_head next https://elixir.bootlin.com/linux/v6.14.7/source/kernel/task_work.c#L72 false false
task_work_add task_struct task_works https://elixir.bootlin.com/linux/v6.14.7/source/kernel/task_work.c#L68 true true
task_work_add task_struct task_works https://elixir.bootlin.com/linux/v6.14.7/source/kernel/task_work.c#L73 false false
task_work_add task_struct task_works https://elixir.bootlin.com/linux/v6.14.7/source/kernel/task_work.c#L68 false false
__file_ref_put (unnamed class/struct/union) refcnt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L86 false false
__file_ref_put (unnamed class/struct/union) refcnt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L76 false false
__file_ref_put (unnamed class/struct/union) refcnt https://elixir.bootlin.com/linux/v6.14.7/source/fs/file.c#L59 false false
file_ref_put (unnamed class/struct/union) refcnt https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/file_ref.h#L157 false false
pidfd_pid inode i_private https://elixir.bootlin.com/linux/v6.14.7/source/fs/pidfs.c#L450 true true
pidfd_pid file f_op https://elixir.bootlin.com/linux/v6.14.7/source/fs/pidfs.c#L448 true true
pid_task task_struct pid_links https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L417 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task hlist_head first https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
pid_task pid tasks https://elixir.bootlin.com/linux/v6.14.7/source/kernel/pid.c#L414 false false
security_ptrace_access_check static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L1062 false false
security_file_free static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2889 false false
security_file_free file f_security https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2891 true true
security_file_free file f_security https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L2893 false false
security_file_receive static_key_false key https://elixir.bootlin.com/linux/v6.14.7/source/security/security.c#L3096 false false
fd_empty fd word https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/file.h#L47 true true
sock_cgroup_set_prioidx sock_cgroup_data prioidx https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/cgroup-defs.h#L883 true true
sock_cgroup_set_prioidx sock_cgroup_data prioidx https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/cgroup-defs.h#L883 false false
sock_cgroup_set_classid sock_cgroup_data classid https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/cgroup-defs.h#L891 true true
sock_cgroup_set_classid sock_cgroup_data classid https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/cgroup-defs.h#L891 false false
mntput mount mnt_expiry_mark https://elixir.bootlin.com/linux/v6.14.7/source/fs/namespace.c#L1507 true true
mntput mount mnt_expiry_mark https://elixir.bootlin.com/linux/v6.14.7/source/fs/namespace.c#L1508 true true
mntput mount mnt_expiry_mark https://elixir.bootlin.com/linux/v6.14.7/source/fs/namespace.c#L1508 false false
put_cred_many cred usage https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/cred.h#L249 false false
path_put path mnt https://elixir.bootlin.com/linux/v6.14.7/source/fs/namei.c#L626 true true
path_put path dentry https://elixir.bootlin.com/linux/v6.14.7/source/fs/namei.c#L625 true true
dput (unnamed class/struct/union) lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/dcache.c#L895 false false
dput (unnamed class/struct/union) lock https://elixir.bootlin.com/linux/v6.14.7/source/fs/dcache.c#L889 false false
dput dentry d_lockref https://elixir.bootlin.com/linux/v6.14.7/source/fs/dcache.c#L895 true true
dput dentry d_lockref https://elixir.bootlin.com/linux/v6.14.7/source/fs/dcache.c#L889 true true
backing_file_user_path (unnamed class/struct/union) user_path https://elixir.bootlin.com/linux/v6.14.7/source/fs/file_table.c#L62 false false
kick_process (unnamed class/struct/union) cpu_number https://elixir.bootlin.com/linux/v6.14.7/source/kernel/sched/core.c#L3473 true true
kick_process (unnamed class/struct/union) cpu_number https://elixir.bootlin.com/linux/v6.14.7/source/kernel/sched/core.c#L3473 false false
file_ref_inc (unnamed class/struct/union) refcnt https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/file_ref.h#L120 false false
get_file file f_ref https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1143 false false
file_inode file f_inode https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/fs.h#L1184 true true
test_and_set_tsk_thread_flag task_struct thread_info https://elixir.bootlin.com/linux/v6.14.7/source/include/linux/sched.h#L2032 false false