mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
![Mathieu Desnoyers](/assets/img/avatar_default.png)
Export the rseq feature size supported by the kernel as well as the required allocation alignment for the rseq per-thread area to user-space through ELF auxiliary vector entries. This is part of the extensible rseq ABI. Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/r/20221122203932.231377-3-mathieu.desnoyers@efficios.com
42 lines
1.7 KiB
C
42 lines
1.7 KiB
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
#ifndef _UAPI_LINUX_AUXVEC_H
|
|
#define _UAPI_LINUX_AUXVEC_H
|
|
|
|
#include <asm/auxvec.h>
|
|
|
|
/* Symbolic values for the entries in the auxiliary table
|
|
put on the initial stack */
|
|
#define AT_NULL 0 /* end of vector */
|
|
#define AT_IGNORE 1 /* entry should be ignored */
|
|
#define AT_EXECFD 2 /* file descriptor of program */
|
|
#define AT_PHDR 3 /* program headers for program */
|
|
#define AT_PHENT 4 /* size of program header entry */
|
|
#define AT_PHNUM 5 /* number of program headers */
|
|
#define AT_PAGESZ 6 /* system page size */
|
|
#define AT_BASE 7 /* base address of interpreter */
|
|
#define AT_FLAGS 8 /* flags */
|
|
#define AT_ENTRY 9 /* entry point of program */
|
|
#define AT_NOTELF 10 /* program is not ELF */
|
|
#define AT_UID 11 /* real uid */
|
|
#define AT_EUID 12 /* effective uid */
|
|
#define AT_GID 13 /* real gid */
|
|
#define AT_EGID 14 /* effective gid */
|
|
#define AT_PLATFORM 15 /* string identifying CPU for optimizations */
|
|
#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */
|
|
#define AT_CLKTCK 17 /* frequency at which times() increments */
|
|
/* AT_* values 18 through 22 are reserved */
|
|
#define AT_SECURE 23 /* secure mode boolean */
|
|
#define AT_BASE_PLATFORM 24 /* string identifying real platform, may
|
|
* differ from AT_PLATFORM. */
|
|
#define AT_RANDOM 25 /* address of 16 random bytes */
|
|
#define AT_HWCAP2 26 /* extension of AT_HWCAP */
|
|
#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size */
|
|
#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment */
|
|
|
|
#define AT_EXECFN 31 /* filename of program */
|
|
|
|
#ifndef AT_MINSIGSTKSZ
|
|
#define AT_MINSIGSTKSZ 51 /* minimal stack size for signal delivery */
|
|
#endif
|
|
|
|
#endif /* _UAPI_LINUX_AUXVEC_H */
|