PR_SET_MM(2const)

НАИМЕНОВАНИЕ
PR_SET_MM - modify kernel memory map descriptor fields

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

ОБЗОР
#include <linux/prctl.h>  /* определения констант PR_* */
#include <sys/prctl.h>

int prctl(PR_SET_MM, long op, ...);

ОПИСАНИЕ
Изменяет определённые поля дескриптора карты памяти ядра вызывающего процесса. Обычно, значения этих полей задаются ядром или динамическим загрузчиком (подробней смотрите ld.so(8)), и обычные приложения не должны использовать эту возможность. Однако, есть случаи (самоизменяющиеся программы), где для программы может оказаться полезным изменение своей карты памяти.

The calling process must have the CAP_SYS_RESOURCE capability. The value in op is one of the options below.

PR_SET_MM_START_CODE
PR_SET_MM_END_CODE
PR_SET_MM_START_DATA
PR_SET_MM_END_DATA
PR_SET_MM_START_STACK
PR_SET_MM_START_BRK
PR_SET_MM_BRK
PR_SET_MM_ARG_START
PR_SET_MM_ARG_END
PR_SET_MM_ENV_START
PR_SET_MM_ENV_END
PR_SET_MM_AUXV
PR_SET_MM_EXE_FILE
PR_SET_MM_MAP
PR_SET_MM_MAP_SIZE

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха возвращается 0. В случае ошибки возвращается -1, а errno устанавливается в указание на ошибку.

ОШИБКИ

EINVAL
    op is not a valid value.

EPERM
    The caller does not have the CAP_SYS_RESOURCE capability.

СТАНДАРТЫ
Linux.

ИСТОРИЯ
Linux 3.3.

До Linux 3.10 эта возможность доступна только, если ядро собрано с параметром CONFIG_CHECKPOINT_RESTORE.

СМОТРИТЕ ТАКЖЕ
prctl(2), PR_SET_MM_START_CODE(2const), PR_SET_MM_END_CODE(2const), PR_SET_MM_START_DATA(2const), PR_SET_MM_END_DATA(2const), PR_SET_MM_START_STACK(2const), PR_SET_MM_START_BRK(2const), PR_SET_MM_BRK(2const), PR_SET_MM_ARG_START(2const), PR_SET_MM_ARG_END(2const), PR_SET_MM_ENV_START(2const), PR_SET_MM_ENV_END(2const), PR_SET_MM_EXE_FILE(2const), PR_SET_MM_MAP(2const), PR_SET_MM_MAP_SIZE(2const)

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

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

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