PR_SET_MM_ARG_START(2const)

PR_SET_MM_ARG_START2const

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_ARG_START, unsigned long addr, 0L, 0L); int prctl(PR_SET_MM, PR_SET_MM_ARG_END, unsigned long addr, 0L, 0L); int prctl(PR_SET_MM, PR_SET_MM_ENV_START, unsigned long addr, 0L, 0L); int prctl(PR_SET_MM, PR_SET_MM_ENV_END, unsigned long addr, 0L, 0L);

Library

Standard C library (libc, -lc)

Overview

PR_SET_MM_ARG_START

Set the address above which the program command line is placed.

PR_SET_MM_ARG_END

Set the address below which the program command line is placed.

PR_SET_MM_ENV_START

Set the address above which the program environment is placed.

PR_SET_MM_ENV_END

Set the address below which the program environment is placed.

The address passed with these calls should belong to a process stack area. Thus, the corresponding memory area must be readable, writable, and (depending on the kernel configuration) have the MAP_GROWSDOWN attribute set (see mmap(2)).

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

Releases

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

  1. 13
  2. Arch

Standards

Linux.

History

Linux 3.5.

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