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 specified by the
.I addr .I addr
argument, the output data is truncated. 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 .SS Death under ptrace
When a (possibly multithreaded) process receives a killing signal When a (possibly multithreaded) process receives a killing signal