1
0
mirror of https://sourceware.org/git/glibc.git synced 2025-07-30 22:43:12 +03:00

Add PTRACE_GET_RSEQ_CONFIGURATION from Linux 5.13 to sys/ptrace.h

Linux 5.13 adds a PTRACE_GET_RSEQ_CONFIGURATION constant, with an
associated ptrace_rseq_configuration structure.

Add this constant to the various sys/ptrace.h headers in glibc, with
the structure in bits/ptrace-shared.h (named struct
__ptrace_rseq_configuration in glibc, as with other such structures).

Tested for x86_64, and with build-many-glibcs.py.
This commit is contained in:
Joseph Myers
2021-08-09 16:51:38 +00:00
parent b805aebd42
commit 98149b16d6
9 changed files with 52 additions and 7 deletions

View File

@ -58,6 +58,7 @@ __BEGIN_DECLS
#undef PTRACE_SECCOMP_GET_FILTER #undef PTRACE_SECCOMP_GET_FILTER
#undef PTRACE_SECCOMP_GET_METADATA #undef PTRACE_SECCOMP_GET_METADATA
#undef PTRACE_GET_SYSCALL_INFO #undef PTRACE_GET_SYSCALL_INFO
#undef PTRACE_GET_RSEQ_CONFIGURATION
/* Type of the REQUEST argument to `ptrace.' */ /* Type of the REQUEST argument to `ptrace.' */
enum __ptrace_request enum __ptrace_request
@ -190,8 +191,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -200,8 +200,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -120,6 +120,16 @@ struct __ptrace_syscall_info
}; };
}; };
/* Results of PTRACE_GET_RSEQ_CONFIGURATION. */
struct __ptrace_rseq_configuration
{
__uint64_t rseq_abi_pointer;
__uint32_t rseq_abi_size;
__uint32_t signature;
__uint32_t flags;
__uint32_t pad;
};
/* Perform process tracing functions. REQUEST is one of the values /* Perform process tracing functions. REQUEST is one of the values
above, and determines the action to be taken. above, and determines the action to be taken.
For all requests except PTRACE_TRACEME, PID specifies the process to be For all requests except PTRACE_TRACEME, PID specifies the process to be

View File

@ -153,8 +153,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -36,6 +36,7 @@ __BEGIN_DECLS
# undef PTRACE_GETREGS # undef PTRACE_GETREGS
# undef PTRACE_GETREGS64 # undef PTRACE_GETREGS64
# undef PTRACE_GETREGSET # undef PTRACE_GETREGSET
# undef PTRACE_GET_RSEQ_CONFIGURATION
# undef PTRACE_GETSIGINFO # undef PTRACE_GETSIGINFO
# undef PTRACE_GETSIGMASK # undef PTRACE_GETSIGMASK
# undef PTRACE_GET_SYSCALL_INFO # undef PTRACE_GET_SYSCALL_INFO
@ -260,8 +261,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -86,6 +86,7 @@ __BEGIN_DECLS
# undef PTRACE_SYSCALL_INFO_ENTRY # undef PTRACE_SYSCALL_INFO_ENTRY
# undef PTRACE_SYSCALL_INFO_EXIT # undef PTRACE_SYSCALL_INFO_EXIT
# undef PTRACE_SYSCALL_INFO_SECCOMP # undef PTRACE_SYSCALL_INFO_SECCOMP
# undef PTRACE_GET_RSEQ_CONFIGURATION
#endif #endif
/* Type of the REQUEST argument to `ptrace.' */ /* Type of the REQUEST argument to `ptrace.' */
enum __ptrace_request enum __ptrace_request
@ -217,6 +218,10 @@ enum __ptrace_request
PTRACE_GET_SYSCALL_INFO = 0x420e, PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f,
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
PTRACE_PEEKUSR_AREA = 0x5000, PTRACE_PEEKUSR_AREA = 0x5000,
#define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA #define PTRACE_PEEKUSR_AREA PTRACE_PEEKUSR_AREA

View File

@ -221,8 +221,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -170,8 +170,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };

View File

@ -190,8 +190,12 @@ enum __ptrace_request
#define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA #define PTRACE_SECCOMP_GET_METADATA PTRACE_SECCOMP_GET_METADATA
/* Get information about system call. */ /* Get information about system call. */
PTRACE_GET_SYSCALL_INFO = 0x420e PTRACE_GET_SYSCALL_INFO = 0x420e,
#define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO #define PTRACE_GET_SYSCALL_INFO PTRACE_GET_SYSCALL_INFO
/* Get rseq configuration information. */
PTRACE_GET_RSEQ_CONFIGURATION = 0x420f
#define PTRACE_GET_RSEQ_CONFIGURATION PTRACE_GET_RSEQ_CONFIGURATION
}; };