Provided by: manpages-dev_6.9.1-1_all bug

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>  /* Definition of PR_* constants */
       #include <sys/prctl.h>

       int prctl(PR_SET_MM, PR_SET_MM_ARG_START, unsigned long addr, 0L, 0L);
       int prctl(PR_SET_MM, PR_SET_MM_ARG_END, unsigned long addr, 0L, 0L);
       int prctl(PR_SET_MM, PR_SET_MM_ENV_START, unsigned long addr, 0L, 0L);
       int prctl(PR_SET_MM, PR_SET_MM_ENV_END, unsigned long addr, 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)