Освободить ранее смапированную область памяти другого процесса, предоставляя больше контроля в сравнении с munmap_peer()
#include <sys/mman.h>int munmap_flags_peer( pid_t pid,void *addr,size_t len,unsigned flags );
0
, что соответствует текущему процессу.libc
Функция munmap_flags_peer() удаляет мапирование страниц памяти процесса pid, начиная с адреса addr и длиной len байт, с округлением вверх до конца страницы памяти. Последующие обращения к этим страницам памяти в целевом процессе будут приводить к отправке процессу сигнала SIGSEGV
.
Если соответствующих параметрам запроса страниц памяти не обнаружено, вызов munmap_flags_peer() не будет иметь эффекта.
Имеются некоторые взаимодействия аргумента flags с флагом MAP_NOINIT
функции mmap(), равно как и с procnto-*, в следующих аспектах:
MAP_NOINIT
. Если флаг установлен, требование POSIX по занулению памяти игнорируется. Физическая память, которая будет использована при мапировании, должна быть предварительно освобождена с использованием UNMAP_INIT_OPTIONAL
для того, чтобы флаг MAP_NOINIT
имел силу.
UNMAP_INIT_REQUIRED
(используется по умолчанию). UNMAP_INIT_OPTIONAL
.
ЗОСРВ «Нейтрино»
ЗОСРВ
«Нейтрино»
редакции 2020
mmap(), mmap64(), mmap64_peer(), munmap(), munmap_peer(), munmap_flags()
procnto-* в Справочнике по Утилитам
Предыдущий раздел: Описание API системной библиотеки