PR_SET_MM_MAP(2const) PR_SET_MM_MAP(2const)

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);

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.
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.

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)

2024-06-01 Linux man-pages 6.9.1