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

NAME

       PR_SET_MM - 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, long op, ...);

DESCRIPTION

       Modify  certain kernel memory map descriptor fields of the calling process.  Usually these
       fields are set by the kernel and dynamic loader (see ld.so(8) for more information) and  a
       regular  application should not use this feature.  However, there are cases, such as self-
       modifying programs, where a program might find it useful to change its own memory map.

       The calling process must have the CAP_SYS_RESOURCE capability.  The value in op is one  of
       the options below.

       PR_SET_MM_START_CODE
       PR_SET_MM_END_CODE
       PR_SET_MM_START_DATA
       PR_SET_MM_END_DATA
       PR_SET_MM_START_STACK
       PR_SET_MM_START_BRK
       PR_SET_MM_BRK
       PR_SET_MM_ARG_START
       PR_SET_MM_ARG_END
       PR_SET_MM_ENV_START
       PR_SET_MM_ENV_END
       PR_SET_MM_AUXV
       PR_SET_MM_EXE_FILE
       PR_SET_MM_MAP
       PR_SET_MM_MAP_SIZE

RETURN VALUE

       On  success,  0  is  returned.  On error, -1 is returned, and errno is set to indicate the
       error.

ERRORS

       EINVAL op is not a valid value.

       EPERM  The caller does not have the CAP_SYS_RESOURCE capability.

STANDARDS

       Linux.

HISTORY

       Linux 3.3.

       Before Linux 3.10, this feature is  available  only  if  the  kernel  is  built  with  the
       CONFIG_CHECKPOINT_RESTORE option enabled.

SEE ALSO

       prctl(2),             PR_SET_MM_START_CODE(2const),            PR_SET_MM_END_CODE(2const),
       PR_SET_MM_START_DATA(2const),  PR_SET_MM_END_DATA(2const),  PR_SET_MM_START_STACK(2const),
       PR_SET_MM_START_BRK(2const),      PR_SET_MM_BRK(2const),      PR_SET_MM_ARG_START(2const),
       PR_SET_MM_ARG_END(2const),     PR_SET_MM_ENV_START(2const),     PR_SET_MM_ENV_END(2const),
       PR_SET_MM_EXE_FILE(2const), PR_SET_MM_MAP(2const), PR_SET_MM_MAP_SIZE(2const)