Modules
This module contains functions that help us validate the inputs to system calls that try to
make sure userspace can’t crash or exploit the kernel in any way. For example, if we take an
address from userspace, we should make sure it’s mapped (so we don’t page-fault) and an address
that userspace could ordinarily access itself (otherwise, we could leak information to a
userspace task that it shouldn’t be able to access).
Constants
NONE_BAR 🔒
Statics
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
CALLSITE 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
META 🔒
REG 🔒
REG 🔒
REG 🔒
REG 🔒
REG 🔒
REG 🔒
REG 🔒
Maps the name of a service to the channel used to register new service users.
Functions
This is the architecture-independent syscall handler. It should be called by the handler that
receives the syscall (each architecture is free to do this however it wishes). The only
parameter that is guaranteed to be valid is
number
; the meaning of the rest may be undefined
depending on how many parameters the specific system call takes.