FreeBSD manual
download PDF document: useracc.9.pdf
KERNACC(9) FreeBSD Kernel Developer's Manual KERNACC(9)
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().
FreeBSD 14.0-RELEASE-p11 June 16, 1996 FreeBSD 14.0-RELEASE-p11