2016-07-10 08:15:50 +00:00
|
|
|
/*
|
|
|
|
* $FreeBSD$
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LINUX_PERSONALITY_H
|
|
|
|
#define LINUX_PERSONALITY_H
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Flags for bug emulation.
|
|
|
|
*
|
|
|
|
* These occupy the top three bytes.
|
|
|
|
*/
|
|
|
|
enum {
|
|
|
|
LINUX_UNAME26 = 0x0020000,
|
2018-02-05 17:29:12 +00:00
|
|
|
LINUX_ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization
|
2016-07-10 08:15:50 +00:00
|
|
|
* of VA space
|
|
|
|
*/
|
|
|
|
LINUX_FDPIC_FUNCPTRS = 0x0080000, /* userspace function
|
|
|
|
* ptrs point to descriptors
|
|
|
|
* (signal handling)
|
|
|
|
*/
|
|
|
|
LINUX_MMAP_PAGE_ZERO = 0x0100000,
|
|
|
|
LINUX_ADDR_COMPAT_LAYOUT = 0x0200000,
|
|
|
|
LINUX_READ_IMPLIES_EXEC = 0x0400000,
|
|
|
|
LINUX_ADDR_LIMIT_32BIT = 0x0800000,
|
|
|
|
LINUX_SHORT_INODE = 0x1000000,
|
|
|
|
LINUX_WHOLE_SECONDS = 0x2000000,
|
|
|
|
LINUX_STICKY_TIMEOUTS = 0x4000000,
|
|
|
|
LINUX_ADDR_LIMIT_3GB = 0x8000000,
|
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Security-relevant compatibility flags that must be
|
|
|
|
* cleared upon setuid or setgid exec:
|
|
|
|
*/
|
|
|
|
#define LINUX_PER_CLEAR_ON_SETID (LINUX_READ_IMPLIES_EXEC | \
|
|
|
|
LINUX_ADDR_NO_RANDOMIZE | \
|
|
|
|
LINUX_ADDR_COMPAT_LAYOUT | \
|
|
|
|
LINUX_MMAP_PAGE_ZERO)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Personality types.
|
|
|
|
*
|
|
|
|
* These go in the low byte. Avoid using the top bit, it will
|
|
|
|
* conflict with error returns.
|
|
|
|
*/
|
|
|
|
enum {
|
|
|
|
LINUX_PER_LINUX = 0x0000,
|
|
|
|
LINUX_PER_LINUX_32BIT = 0x0000 | LINUX_ADDR_LIMIT_32BIT,
|
|
|
|
LINUX_PER_LINUX_FDPIC = 0x0000 | LINUX_FDPIC_FUNCPTRS,
|
|
|
|
LINUX_PER_LINUX32 = 0x0008,
|
|
|
|
LINUX_PER_LINUX32_3GB = 0x0008 | LINUX_ADDR_LIMIT_3GB,
|
|
|
|
LINUX_PER_MASK = 0x00ff,
|
|
|
|
};
|
|
|
|
|
|
|
|
#endif /* LINUX_PERSONALITY_H */
|