| PR_SET_MM_ARG_START | Set the address above which the program command line is placed. |
| PR_SET_MM_ARG_END | Set the address below which the program command line is placed. |
| PR_SET_MM_ENV_START | Set the address above which the program environment is placed. |
| PR_SET_MM_ENV_END | Set the address below which the program environment is placed. |
| EINVAL | addr is greater than TASK_SIZE (the limit on the size of the user address space for this architecture). |
NAME
PR_SET_MM_ARG_START, PR_SET_MM_ARG_END, PR_SET_MM_ENV_START, PR_SET_MM_ENV_END - 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_ARG_START, unsigned long \naddr\n, 0L, 0L);\n
\nint prctl(PR_SET_MM, PR_SET_MM_ARG_END, unsigned long \naddr\n, 0L, 0L);\n
\nint prctl(PR_SET_MM, PR_SET_MM_ENV_START, unsigned long \naddr\n, 0L, 0L);\n
\nint prctl(PR_SET_MM, PR_SET_MM_ENV_END, unsigned long \naddr\n, 0L, 0L);DESCRIPTION
- PR_SET_MM_ARG_START
Set the address above which the program command line is placed.
- PR_SET_MM_ARG_END
Set the address below which the program command line is placed.
- PR_SET_MM_ENV_START
Set the address above which the program environment is placed.
- PR_SET_MM_ENV_END
Set the address below which the program environment is placed.
The address passed with these calls should belong to a process stack area. Thus, the corresponding memory area must be readable, writable, and (depending on the kernel configuration) have the MAP_GROWSDOWN attribute set (see mmap(2)).
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).
STANDARDS
Linux.
HISTORY
Linux 3.5.
SEE ALSO
prctl(2), PR_SET_MM(2const)