ptrace_report_syscall_exit(9)
β¨ NAME β¨
okay bestie, this page is ptrace_report_syscall_exit(9) from the Kernel API Manual β it's literally about the exact moment a task has just finished a system call. π
ptrace_report_syscall_exit β task has just finished a system call. periodt. π
πΈ SYNOPSIS πΈ
the whole signature, no cap:
void ptrace_report_syscall_exit (struct pt_regs *regs , int step );
π ARGUMENTS π
regsβ user register state of current task. like, the current task's whole register situation π«Άstepβ nonzero if simulating single-step or block-step. iykyk β
π DESCRIPTION π
okay so This will be called if SYSCALL_WORK_SYSCALL_TRACE has been set, when the current task has just finished an attempted system call. Full user register state is available here β yes, all of it, bestie. β¨
It is safe to block here, preventing signals from being processed. that's a big deal, okay? π
If step is nonzero, this report is also in lieu of the normal trap that would follow the system call instruction because user_enable_block_step or user_enable_single_step was used. In this case, SYSCALL_WORK_SYSCALL_TRACE might not be set. π noted.
Called without locks, just before checking for pending signals. that's the timing, no cap. π
π SEE ALSO π
Kernel file ./include/linux/ptrace.h is right there, and the whole squad is:
ptrace_may_access(9)ptrace_parent(9)ptrace_event_enabled(9)ptrace_event(9)ptrace_event_pid(9)ptrace_init_task(9)ptrace_release_task(9)arch_has_single_step(9)user_enable_single_step(9)user_disable_single_step(9)arch_has_block_step(9)user_enable_block_step(9)arch_ptrace_stop_needed(9)arch_ptrace_stop(9)ptrace_report_syscall_permit_entry(9)
source/version: ./include/linux Β· date: October 2026 Β· mwah, bye bestie ππ¦β¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms