| .. | .. |
|---|
| 73 | 73 | __u64 flags; /* Output: filter's flags */ |
|---|
| 74 | 74 | }; |
|---|
| 75 | 75 | |
|---|
| 76 | +#define PTRACE_GET_SYSCALL_INFO 0x420e |
|---|
| 77 | +#define PTRACE_SYSCALL_INFO_NONE 0 |
|---|
| 78 | +#define PTRACE_SYSCALL_INFO_ENTRY 1 |
|---|
| 79 | +#define PTRACE_SYSCALL_INFO_EXIT 2 |
|---|
| 80 | +#define PTRACE_SYSCALL_INFO_SECCOMP 3 |
|---|
| 81 | + |
|---|
| 82 | +struct ptrace_syscall_info { |
|---|
| 83 | + __u8 op; /* PTRACE_SYSCALL_INFO_* */ |
|---|
| 84 | + __u8 pad[3]; |
|---|
| 85 | + __u32 arch; |
|---|
| 86 | + __u64 instruction_pointer; |
|---|
| 87 | + __u64 stack_pointer; |
|---|
| 88 | + union { |
|---|
| 89 | + struct { |
|---|
| 90 | + __u64 nr; |
|---|
| 91 | + __u64 args[6]; |
|---|
| 92 | + } entry; |
|---|
| 93 | + struct { |
|---|
| 94 | + __s64 rval; |
|---|
| 95 | + __u8 is_error; |
|---|
| 96 | + } exit; |
|---|
| 97 | + struct { |
|---|
| 98 | + __u64 nr; |
|---|
| 99 | + __u64 args[6]; |
|---|
| 100 | + __u32 ret_data; |
|---|
| 101 | + } seccomp; |
|---|
| 102 | + }; |
|---|
| 103 | +}; |
|---|
| 104 | + |
|---|
| 105 | +/* |
|---|
| 106 | + * These values are stored in task->ptrace_message |
|---|
| 107 | + * by tracehook_report_syscall_* to describe the current syscall-stop. |
|---|
| 108 | + */ |
|---|
| 109 | +#define PTRACE_EVENTMSG_SYSCALL_ENTRY 1 |
|---|
| 110 | +#define PTRACE_EVENTMSG_SYSCALL_EXIT 2 |
|---|
| 111 | + |
|---|
| 76 | 112 | /* Read signals from a shared (process wide) queue */ |
|---|
| 77 | 113 | #define PTRACE_PEEKSIGINFO_SHARED (1 << 0) |
|---|
| 78 | 114 | |
|---|