Command Section

VM_MAP_PROTECT(9)      FreeBSD Kernel Developer's Manual     VM_MAP_PROTECT(9)

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.  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 <bms@spc.org>.

FreeBSD 13.1-RELEASE-p6          June 20, 2019         FreeBSD 13.1-RELEASE-p6

Command Section

man2web Home...