---
name: "PR_SET_MM_BRK"
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_BRK"
---

# PR\_SET\_MM\_BRK(2const)

modify kernel memory map descriptor fields

## NAME

PR\_SET\_MM\_BRK - 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\_BRK, unsigned long** *addr***, 0L, 0L);**

## DESCRIPTION

Set the current [**brk**(2)](/brk/2.md) value.

The requirements for the address are the same as for the **PR\_SET\_MM\_START\_BRK** option.

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

- **EINVAL**

  *addr* is less than or equal to the end of the data segment or specifies a value that would cause the **RLIMIT\_DATA** resource limit to be exceeded.

## STANDARDS

Linux.

## HISTORY

Linux 3.3.

## SEE ALSO

[**prctl**(2)](/prctl/2.md), [**PR\_SET\_MM**(2const)](/PR_SET_MM/2const.md), [**PR\_SET\_MM\_START\_BRK**(2const)](/PR_SET_MM_START_BRK/2const.md)
