kernaccuseracc
- 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
Fa rw
are permitted in the range of virtual addresses given by
Fa addr
and
Fa len .
The possible values of
Fa rw
are any bitwise combination of
VM_PROT_READVM_PROT_WRITE
and
VM_PROT_EXECUTE
kernacc ();
checks addresses in the kernel address space, while
useracc ();
considers
Fa 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
Fa rw
is permitted.
Otherwise boolean false is returned.
BUGS
The process pointer should be passed in as an argument to
useracc (.);