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.