ptrace.2: Document struct ptrace_syscall_info

Signed-off-by: Dmitry V. Levin <ldv@altlinux.org>
Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com>
This commit is contained in:
Dmitry V. Levin 2019-09-11 20:38:08 +03:00 committed by Michael Kerrisk
parent 5f0922e7a0
commit a60e8f1bb3
1 changed files with 50 additions and 1 deletions

View File

@ -1026,7 +1026,56 @@ If the size of the data to be written by the kernel exceeds the size
specified by the
.I addr
argument, the output data is truncated.
.\" FIXME Document 'struct ptrace_syscall_info'
.IP
The
.I ptrace_syscall_info
structure contains the following fields:
.IP
.in
.EX
struct ptrace_syscall_info {
__u8 op; /* PTRACE_SYSCALL_INFO_* value
describing the kind
of system call stop,
see <linux/ptrace.h> */
__u32 arch; /* AUDIT_ARCH_* value,
see seccomp(2) */
__u64 instruction_pointer; /* CPU instruction pointer */
__u64 stack_pointer; /* CPU stack pointer */
union {
struct {
__u64 nr; /* System call number */
__u64 args[6]; /* System call arguments */
} entry; /* Information specific to
system call entry stops */
struct {
__s64 rval; /* System call return value */
__u8 is_error; /* System call error flag */
} exit; /* Information specific to
system call exit stops */
struct {
__u64 nr; /* System call number */
__u64 args[6]; /* System call arguments */
__u32 ret_data; /* The SECCOMP_RET_DATA portion
of SECCOMP_RET_TRACE return
value */
} seccomp; /* Information specific to
PTRACE_EVENT_SECCOMP stops */
};
};
.EE
.in
.IP
.IR op ,
.IR arch ,
.IR instruction_pointer ,
and
.I stack_pointer
fields are defined for all kinds of ptrace system call stops.
The rest of the structure is a union, one should read only those fields
that are meaningful for the kind of system call stop specified by the
.IR op
field.
.\"
.SS Death under ptrace
When a (possibly multithreaded) process receives a killing signal