security_ptr...access_check(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ security_ptrace_access_check β€” check if tracing is allowed ✨

okay bestie, welcome to the security_ptr...access_check(9) page from the Kernel API Manual πŸ’– this is where the kernel asks "hey… should this process be allowed to peek at that one?" and yes it's giving gatekeeper energy πŸ‘‘


πŸ’… NAME

security_ptrace_access_check β€” check if tracing is allowed πŸ”


πŸŽ€ SYNOPSIS

int security_ptrace_access_check (struct task_struct *child , unsigned
int mode );

🌸 ARGUMENTS

  • child β€” the target process, the one who might be getting traced πŸ‘€
  • mode β€” the PTRACE_MODE flags, aka the vibe check parameters πŸ¦‹

🧚 DESCRIPTION

So the whole point: this checks permission before letting the current process trace the child process. Like, before you get to snoop, the kernel asks politely first βœ‹

Also β€” and this is the part people forget β€” security modules may also want to do a process tracing check during an execve: in the set_security or apply_creds hooks, or a tracing check during an execve in the bprm_set_creds hook of binprm_security_ops, if the process is being traced and its security attributes would be changed by the execve. fr fr, that's the whole note πŸ“


⭐ RETURN

Returns 0 if permission is granted πŸ™Œ (that's the happy path, slay)


πŸ‘‘ SEE ALSO

Kernel file ./security/security.c β€” and okay, buckle up buttercup, because this list is long 🌈

lsm_file_alloc(9), lsm_backing_file_alloc(9), lsm_blob_alloc(9), lsm_cred_alloc(9), lsm_inode_alloc(9), lsm_task_alloc(9), lsm_ipc_alloc(9), lsm_key_alloc(9), lsm_msg_msg_alloc(9), lsm_bdev_alloc(9), lsm_bpf_map_alloc(9), lsm_bpf_prog_alloc(9), lsm_bpf_token_alloc(9), lsm_superblock_alloc(9), lsm_fill_user_ctx(9), security_binder_set_context_mgr(9), security_binder_transaction(9), security_binder_transfer_binder(9), security_binder_transfer_file(9), security_ptrace_traceme(9), security_capget(9), security_capset(9), security_capable(9), security_quotactl(9), security_quota_on(9), security_syslog(9), security_settime64(9), security_vm_enough_memory_mm(9), security_bprm_creds_for_exec(9), security_bprm_creds_from_file(9), security_bprm_check(9), security_bprm_committing_creds(9), security_bprm_committed_creds(9), security_fs_context_submount(9), security_fs_context_dup(9), security_fs_context_parse_param(9), security_sb_alloc(9), security_sb_delete(9), security_sb_free(9), security_free_mnt_opts(9), security_sb_eat_lsm_opts(9), security_sb_mnt_opts_compat(9), security_sb_remount(9), security_sb_kern_mount(9), security_sb_show_options(9), security_sb_statfs(9), security_sb_mount(9), security_sb_umount(9), security_sb_pivotroot(9), security_sb_set_mnt_opts(9), security_sb_clone_mnt_opts(9), security_move_mount(9), security_path_notify(9), security_inode_alloc(9), security_inode_free(9), security_dentry_init_security(9), security_dentry_create_files_as(9), security_inode_init_security(9), security_inode_init_security_anon(9), security_path_mknod(9), security_path_post_mknod(9), security_path_mkdir(9), security_path_rmdir(9), security_path_unlink(9), security_path_symlink(9), security_path_link(9), security_path_rename(9), security_path_truncate(9), security_path_chmod(9), security_path_chown(9), security_path_chroot(9), security_inode_create(9), security_inode_post_create_tmpfile(9), security_inode_link(9), security_inode_unlink(9), security_inode_symlink(9), security_inode_mkdir(9), security_inode_rmdir(9), security_inode_mknod(9), security_inode_rename(9), security_inode_readlink(9), security_inode_follow_link(9), security_inode_permission(9), security_inode_setattr(9), security_inode_post_setattr(9), security_inode_getattr(9), security_inode_setxattr(9), security_inode_set_acl(9), security_inode_post_set_acl(9), security_inode_get_acl(9), security_inode_remove_acl(9), security_inode_post_remove_acl(9), security_inode_post_setxattr(9), security_inode_getxattr(9), security_inode_listxattr(9), security_inode_removexattr(9), security_inode_post_removexattr(9), security_inode_file_setattr(9), security_inode_file_getattr(9), security_inode_need_killpriv(9), security_inode_killpriv(9), security_inode_getsecurity(9), security_inode_setsecurity(9), security_inode_listsecurity(9), security_inode_getlsmprop(9), security_inode_copy_up(9), security_inode_copy_up_xattr(9), security_inode_setintegrity(9), security_kernfs_init_security(9), security_file_permission(9), security_file_alloc(9), security_file_release(9), security_file_free(9), security_backing_file_alloc(9), security_backing_file_free(9), security_file_ioctl(9), security_file_ioctl_compat(9), security_mmap_file(9), security_mmap_backing_file(9), security_mmap_addr(9), security_file_mprotect(9), security_file_lock(9), security_file_fcntl(9), security_file_set_fowner(9), security_file_send_sigiotask(9), security_file_receive(9), security_file_open(9), security_file_post_open(9), security_file_truncate(9), security_task_alloc(9), security_task_free(9), security_cred_alloc_blank(9), security_cred_free(9), security_prepare_creds(9), security_transfer_creds(9), security_cred_getsecid(9), security_cred_getlsmprop(9), security_kernel_act_as(9), security_kernel_create_files_as(9), security_kernel_module_request(9), security_kernel_read_file(9), security_kernel_post_read_file(9), security_kernel_load_data(9), security_kernel_post_load_data(9), security_task_fix_setuid(9), security_task_fix_setgid(9), security_task_fix_setgroups(9), security_task_setpgid(9), security_task_getpgid(9), security_task_getsid(9), security_current_getlsmprop_subj(9), security_task_getlsmprop_obj(9), security_task_setnice(9), security_task_setioprio(9), security_task_getioprio(9), security_task_prlimit(9), security_task_setrlimit(9), security_task_setscheduler(9), security_task_getscheduler(9), security_task_movememory(9), security_task_kill(9), security_task_prctl(9), security_task_to_inode(9), security_create_user_ns(9), security_ipc_permission(9), security_ipc_getlsmprop(9), security_msg_msg_alloc(9), security_msg_msg_free(9), security_msg_queue_alloc(9), security_msg_queue_free(9), security_msg_queue_associate(9), security_msg_queue_msgctl(9), security_msg_queue_msgsnd(9), security_msg_queue_msgrcv(9), security_shm_alloc(9), security_shm_free(9), security_shm_associate(9), security_shm_shmctl(9), security_shm_shmat(9), security_sem_alloc(9), security_sem_free(9), security_sem_associate(9), security_sem_semctl(9), security_sem_semop(9), security_d_instantiate(9), security_getselfattr(9), security_setselfattr(9), security_getprocattr(9), security_setprocattr(9), security_ismaclabel(9), security_secid_to_secctx(9), security_lsmprop_to_secctx(9), security_secctx_to_secid(9), security_release_secctx(9), security_inode_invalidate_secctx(9), security_inode_notifysecctx(9), security_inode_setsecctx(9), security_inode_getsecctx(9), security_post_notification(9), security_watch_key(9), security_netlink_send(9), security_unix_stream_connect(9), security_unix_may_send(9), security_socket_create(9), security_socket_post_create(9), security_socket_socketpair(9), security_socket_bind(9), security_socket_connect(9), security_socket_listen(9), security_socket_accept(9), security_socket_sendmsg(9), security_socket_recvmsg(9), security_socket_getsockname(9), security_socket_getpeername(9), security_socket_getsockopt(9), security_socket_setsockopt(9), security_socket_shutdown(9), security_sock_rcv_skb(9), security_socket_getpeersec_stream(9), security_socket_getpeersec_dgram(9), lsm_sock_alloc(9), security_sk_alloc(9), security_sk_free(9), security_sk_clone(9), security_sk_classify_flow(9), security_req_classify_flow(9), security_sock_graft(9), security_inet_conn_request(9), security_inet_csk_clone(9), security_inet_conn_established(9), security_secmark_relabel_packet(9), security_secmark_refcount_inc(9), security_secmark_refcount_dec(9), security_tun_dev_alloc_security(9), security_tun_dev_free_security(9), security_tun_dev_create(9), security_tun_dev_attach_queue(9), security_tun_dev_attach(9), security_tun_dev_open(9), security_sctp_assoc_request(9), security_sctp_bind_connect(9), security_sctp_sk_clone(9), security_sctp_assoc_established(9), security_mptcp_add_subflow(9), security_unix_find(9), security_ib_pkey_access(9), security_ib_endport_manage_subnet(9), security_ib_alloc_security(9), security_ib_free_security(9), security_xfrm_policy_alloc(9), security_xfrm_policy_clone(9), security_xfrm_policy_free(9), security_xfrm_policy_delete(9), security_xfrm_state_alloc(9), security_xfrm_state_alloc_acquire(9), security_xfrm_state_delete(9), security_xfrm_state_free(9), security_xfrm_policy_lookup(9), security_xfrm_state_pol_flow_match(9), security_xfrm_decode_session(9), security_key_alloc(9), security_key_free(9), security_key_permission(9), security_key_getsecurity(9), security_key_post_create_or_update(9), security_audit_rule_init(9), security_audit_rule_known(9), security_audit_rule_free(9), security_audit_rule_match(9), security_bpf(9), security_bpf_map(9), security_bpf_prog(9), security_bpf_map_create(9), security_bpf_prog_load(9), security_bpf_token_create(9), security_bpf_token_cmd(9), security_bpf_token_capable(9), security_bpf_map_free(9), security_bpf_prog_free(9), security_bpf_token_free(9), security_locked_down(9), security_bdev_alloc(9), security_bdev_free(9), security_bdev_setintegrity(9), security_perf_event_open(9), security_perf_event_alloc(9), security_perf_event_free(9), security_perf_event_read(9), security_perf_event_write(9), security_uring_override_creds(9), security_uring_sqpoll(9), security_uring_cmd(9), security_uring_allowed(9), security_initramfs_populated(9)


🫢 that's the whole page bestie, no gatekeeping. this one lives in ./security and the version/date on the tin is October 2026 β€” mwah, go trace responsibly πŸ’…βœ¨

πŸ“¦ where this page comes from