tail head cat sleep
QR code linking to this page

Manual Pages  — VM_MAP_PROTECT

NAME

vm_map_protect – apply protection bits to a virtual memory region

CONTENTS

SYNOPSIS

#include <sys/param.h>
#include <vm/vm.h>
#include <vm/vm_map.h>

int
vm_map_protect(vm_map_t map, vm_offset_t start, vm_offset_t end, vm_prot_t new_prot, boolean_t set_max);

DESCRIPTION

The vm_map_protect() function sets the protection bits of the address region bounded by start and end within the map map to new_prot. The value specified by new_prot may not include any protection bits that are not set in max_protection on every entry within the range.

If set_max is TRUE, new_prot is treated as the new max_protection setting for each underlying entry. Protection bits not included new_prot will be cleared from existing entries. If set_max is FALSE only the protection field is affected.

The range MUST be contiguous, and MUST NOT contain sub-maps.

IMPLEMENTATION NOTES

The function acquires a lock on the map for the duration, by calling vm_map_lock(9).

RETURN VALUES

The vm_map_protect() function returns KERN_SUCCESS if the protection bits could be set successfully.

If a sub-map entry was encountered in the range, KERN_INVALID_ARGUMENT is returned. If the value of new_prot would exceed max_protection for an entry within the range, KERN_PROTECTION_FAILURE is returned. If a copy-on-write mapping is transitioned from read-only to read-write, and too little swap space is available for backing the copied pages, KERN_RESOURCE_SHORTAGE is returned.

SEE ALSO

vm_map(9)

AUTHORS

This manual page was written by Bruce M Simpson <Mt bms@spc.org>.

VM_MAP_PROTECT (9) June 20, 2019

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.