| 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. |
| 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. |
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>\n /* Definition of \nPR_*\n constants */
\n#include <sys/prctl.h>int prctl(PR_SET_MM, PR_SET_MM_START_DATA, unsigned long \naddr\n, 0L, 0L);\n
\nint prctl(PR_SET_MM, PR_SET_MM_END_DATA, unsigned long \naddr\n, 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.
SEE ALSO
prctl(2)