Provided by: freebsd-manpages_12.2-1_all bug

NAME

     vm_map_protect — apply protection bits to a virtual memory region

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.

SEE ALSO

     vm_map(9)

AUTHORS

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