---
name: "PR_SET_MM_MAP_SIZE"
section: "2const"
platform: "linux"
package: "man-pages"
version: "6.19-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/PR_SET_MM_MAP"
---

# PR\_SET\_MM\_MAP\_SIZE(2const)

modify kernel memory map descriptor fields

Part of [PR\_SET\_MM\_MAP(2const)](/PR_SET_MM_MAP/2const.md).

## NAME

PR\_SET\_MM\_MAP, PR\_SET\_MM\_MAP\_SIZE - 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\_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);**

## DESCRIPTION

- **PR\_SET\_MM\_MAP**

  Provides one-shot access to all the addresses modifyable with [**PR\_SET\_MM**(2const)](/PR_SET_MM/2const.md) 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.

## RETURN VALUE

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

## ERRORS

- **EINVAL**

  The third argument is an invalid address.

## STANDARDS

Linux.

## HISTORY

Linux 3.18.

## SEE ALSO

[**prctl**(2)](/prctl/2.md), [**PR\_SET\_MM**(2const)](/PR_SET_MM/2const.md), [**PR\_SET\_MM\_START\_CODE**(2const)](/PR_SET_MM_START_CODE/2const.md), [**PR\_SET\_MM\_END\_CODE**(2const)](/PR_SET_MM_END_CODE/2const.md), [**PR\_SET\_MM\_START\_DATA**(2const)](/PR_SET_MM_START_DATA/2const.md), [**PR\_SET\_MM\_END\_DATA**(2const)](/PR_SET_MM_END_DATA/2const.md), [**PR\_SET\_MM\_START\_STACK**(2const)](/PR_SET_MM_START_STACK/2const.md), [**PR\_SET\_MM\_START\_BRK**(2const)](/PR_SET_MM_START_BRK/2const.md), [**PR\_SET\_MM\_BRK**(2const)](/PR_SET_MM_BRK/2const.md), [**PR\_SET\_MM\_ARG\_START**(2const)](/PR_SET_MM_ARG_START/2const.md), [**PR\_SET\_MM\_ARG\_END**(2const)](/PR_SET_MM_ARG_END/2const.md), [**PR\_SET\_MM\_ENV\_START**(2const)](/PR_SET_MM_ENV_START/2const.md), [**PR\_SET\_MM\_ENV\_END**(2const)](/PR_SET_MM_ENV_END/2const.md), [**PR\_SET\_MM\_EXE\_FILE**(2const)](/PR_SET_MM_EXE_FILE/2const.md)
