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)

Linux man-pages 6.9.1                              2024-06-01                        PR_SET_MM_ARG_START(2const)