focal (9) kernacc.9freebsd.gz

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

NAME

     kernacc, useracc — check memory regions for accessibility

SYNOPSIS

     #include <sys/param.h>
     #include <sys/proc.h>
     #include <vm/vm.h>
     #include <vm/vm_extern.h>

     int
     kernacc(void *addr, int len, int rw);

     int
     useracc(void *addr, int len, int rw);

DESCRIPTION

     The kernacc() and useracc() functions check whether operations of the type specified in rw are permitted in
     the range of virtual addresses given by addr and len.  The possible values of rw are any bitwise
     combination of VM_PROT_READ, VM_PROT_WRITE and VM_PROT_EXECUTE.  kernacc() checks addresses in the kernel
     address space, while useracc() considers addr to represent an user space address.  The process context to
     use for this operation is taken from the global variable curproc.

RETURN VALUES

     Both functions return boolean true if the type of access specified by rw is permitted.  Otherwise boolean
     false is returned.

BUGS

     The process pointer should be passed in as an argument to useracc().