PR_SET_MM_START_DATA(2const)

PR_SET_MM_START_DATA2const

Modify kernel memory map descriptor fields

Usage

#include <linux/prctl.h>  /* Definition of PR_* constants */
#include <sys/prctl.h>

int prctl(PR_SET_MM, PR_SET_MM_START_DATA, unsigned long addr, 0L, 0L); int prctl(PR_SET_MM, PR_SET_MM_END_DATA, unsigned long addr, 0L, 0L);

Library

Standard C library (libc, -lc)

Overview

PR_SET_MM_START_DATA

Set the address above which initialized and uninitialized (bss) data are placed. The corresponding memory area must be readable and writable, but not executable or shareable.

PR_SET_MM_END_DATA

Set the address below which initialized and uninitialized (bss) data are placed. The corresponding memory area must be readable and writable, but not executable or shareable.

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

The permissions of the corresponding memory area are not as required.

Releases

2 releases since Debian 13 (Trixie); the text changed 1 time.

  1. 13
  2. Arch

Standards

Linux.

History

Linux 3.3.

From man-pages 6.19-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.