NAME
PR_SET_MM_START_DATA, PR_SET_MM_END_DATA - modify kernel memory map descriptor fields
LIBRARY
Standard C library (libc, -lc)
SYNOPSIS
#include <linux/prctl.h> /* Definition of PR_* constants */ #include <sys/prctl.h>
int prctl(PR_SET_MM, PR_SET_MM_START_DATA, unsigned long addr, 0L, 0L); int prctl(PR_SET_MM, PR_SET_MM_END_DATA, unsigned long addr, 0L, 0L);
DESCRIPTION
- PR_SET_MM_START_DATA
-
Set the address above which initialized and uninitialized (bss) data are placed. The corresponding memory area must be readable and writable, but not executable or shareable.
- PR_SET_MM_END_DATA
-
Set the address below which initialized and uninitialized (bss) data are placed. The corresponding memory area must be readable and writable, but not executable or shareable.
RETURN VALUE
On success, 0 is returned. On error, -1 is returned, and errno is set to indicate the error.
ERRORS
- EINVAL
-
addr is greater than TASK_SIZE (the limit on the size of the user address space for this architecture).
- EINVAL
-
The permissions of the corresponding memory area are not as required.
STANDARDS
Linux.
HISTORY
Linux 3.3.