Scroll to navigation

PR_SET_MM_START_CODE(2const) PR_SET_MM_START_CODE(2const)

НАИМЕНОВАНИЕ

PR_SET_MM_START_CODE, PR_SET_MM_END_CODE - modify kernel memory map descriptor fields

БИБЛИОТЕКА

Стандартная библиотека языка C (libc-lc)

ОБЗОР

#include <linux/prctl.h>  /* определения констант PR_* */
#include <sys/prctl.h>
int prctl(PR_SET_MM, PR_SET_MM_START_CODE, unsigned long addr, 0L, 0L);
int prctl(PR_SET_MM, PR_SET_MM_END_CODE, unsigned long addr, 0L, 0L);

ОПИСАНИЕ

Устанавливает адрес памяти, выше которого располагается код программы, который может выполняться. Соответствующая область памяти должна быть доступна на чтение и выполнение, но не на запись или быть общедоступной (подробности смотрите в mprotect(2) и mmap(2)).
Устанавливает адрес памяти, ниже которого располагается код программы, который может выполняться. Соответствующая область памяти должна быть доступна на чтение и выполнение, но не на запись или быть общедоступной.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

В случае успеха возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в указание на ошибку.

ОШИБКИ

addr is greater than TASK_SIZE (the limit on the size of the user address space for this architecture).
The permissions of the corresponding memory area are not as required.

СТАНДАРТЫ

Linux.

ИСТОРИЯ

Linux 3.3.

СМОТРИТЕ ТАКЖЕ

prctl(2)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал(и)

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.

8 февраля 2026 г. Справочные страницы Linux 6.17