PR_SET_MM_MAP, PR_SET_MM_MAP_SIZE − modify kernel memory map descriptor fields
Standard C library (libc, −lc)
#include
<linux/prctl.h> /* Definition of PR_*
constants */
#include <sys/prctl.h>
int
prctl(PR_SET_MM, PR_SET_MM_MAP,
struct prctl_mm_map *map, unsigned long
size, 0L);
int prctl(PR_SET_MM, PR_SET_MM_MAP_SIZE, unsigned int
*size, 0L, 0L);
PR_SET_MM_MAP
Provides one-shot access to all the addresses modifyable with PR_SET_MM(2const) by passing in a struct prctl_mm_map (as defined in <linux/prctl.h>). The size argument should provide the size of the struct.
PR_SET_MM_MAP_SIZE
Returns (via the size argument) the size of the struct prctl_mm_map the kernel expects. This allows user space to find a compatible struct.
These features are available only if the kernel is built with the CONFIG_CHECKPOINT_RESTORE option enabled.
On success, 0 is returned. On error, −1 is returned, and errno is set to indicate the error.
|
EINVAL |
The third argument is an invalid address. |
Linux.
Linux 3.18.
prctl(2), PR_SET_MM(2const), 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)