hc
2023-12-11 6778948f9de86c3cfaf36725a7c87dcff9ba247f
kernel/include/uapi/linux/ptrace.h
....@@ -73,6 +73,42 @@
7373 __u64 flags; /* Output: filter's flags */
7474 };
7575
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
+
76112 /* Read signals from a shared (process wide) queue */
77113 #define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
78114