Scroll to navigation

PR_SET_MM_ARG_START(2const) PR_SET_MM_ARG_START(2const)

NAME

PR_SET_MM_ARG_START, PR_SET_MM_ARG_END, PR_SET_MM_ENV_START, PR_SET_MM_ENV_END - 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_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);

DESCRIPTION

Set the address above which the program command line is placed.
Set the address below which the program command line is placed.
Set the address above which the program environment is placed.
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

addr is greater than TASK_SIZE (the limit on the size of the user address space for this architecture).

STANDARDS

Linux.

HISTORY

Linux 3.5.

SEE ALSO

prctl(2), PR_SET_MM(2const)

2024-06-01 Linux man-pages (unreleased)