PR_SET_MM_START_DATA(2const) PR_SET_MM_START_DATA(2const) NAME PR_SET_MM_START_DATA, PR_SET_MM_END_DATA - modify kernel memory map descriptor fields LIBRARY Standard C library (libc, -lc) SYNOPSIS #include /* Definition of PR_* constants */ #include 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); DESCRIPTION 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. STANDARDS Linux. HISTORY Linux 3.3. SEE ALSO prctl(2) Linux man-pages 6.19 2026-02-08 PR_SET_MM_START_DATA(2const)