mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 16:29:59 +00:00
![Paul Mackerras](/assets/img/avatar_default.png)
On PowerPC, we want to be able to provide an AT_PLATFORM aux table entry to userspace, so that glibc can choose optimized libraries for the processor we're running on. Unfortunately that would be the 21st aux table entry on powerpc, meaning that the aux table including the terminating null entry would overflow the mm->saved_auxv[] array, leading to userland programs segfaulting. This increases the size of the mm->saved_auxv array to be large enough to accommodate an AT_PLATFORM entry on powerpc. Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
31 lines
1.2 KiB
C
31 lines
1.2 KiB
C
#ifndef _LINUX_AUXVEC_H
|
|
#define _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 */
|
|
|
|
#define AT_SECURE 23 /* secure mode boolean */
|
|
|
|
#define AT_VECTOR_SIZE 44 /* Size of auxiliary table. */
|
|
|
|
#endif /* _LINUX_AUXVEC_H */
|