Skip to main content

Module silo

Module silo 

Source
Expand description

Silo manager (kernel-side, minimal mechanisms only)

This module provides the core kernel structures and syscalls to create and manage silos. Policy lives in userspace (silo admin).

StructsΒ§

ControlMode
GrantedResource πŸ”’
HardwareMode
ModuleImage πŸ”’
ModuleInfo
ModuleRegistry πŸ”’
OctalMode
RegistryMode
Silo πŸ”’
SiloConfig
SiloDetailSnapshot
SiloEvent
SiloEventSnapshot
SiloId
SiloManager πŸ”’
SiloOutputBuf πŸ”’
SiloSnapshot
Strat9ModuleHeader
UnveilRights πŸ”’
UnveilRule πŸ”’

EnumsΒ§

ModuleData πŸ”’
SiloEventKind
SiloFaultReason
SiloState
SiloTier
StrateFamily

ConstantsΒ§

FAULT_SUBCODE_SHIFT
IPC_STREAM_DATA πŸ”’
IPC_STREAM_EOF πŸ”’
MAX_MODULE_BLOB_LEN πŸ”’
MAX_SILO_CAPS πŸ”’
MODULE_FLAG_KERNEL πŸ”’
MODULE_FLAG_SIGNED πŸ”’
SILO_ADMIN_RESOURCE πŸ”’
SILO_EVENTS_CAPACITY πŸ”’
SILO_FLAG_ADMIN
SILO_FLAG_GRAPHICS
SILO_FLAG_GRAPHICS_READ_ONLY
SILO_FLAG_WEBRTC_NATIVE
SILO_FLAG_WEBRTC_TURN_FORCE
SILO_OUTPUT_CAPACITY πŸ”’

StaticsΒ§

BOOT_REG_IN_PROGRESS πŸ”’
MODULE_REGISTRY πŸ”’
SILO_MANAGER πŸ”’

FunctionsΒ§

add_or_merge_granted_resource πŸ”’
Performs the add or merge granted resource operation.
charge_current_task_memory
Charge memory usage against the current task’s silo quota (if any).
charge_task_silo_memory πŸ”’
Performs the charge task silo memory operation.
compute_silo_xcr0 πŸ”’
Compute the effective XCR0 mask for a silo from its allowed CPU features.
create_silo_admin_capability
Grant the Silo Admin capability to a task (bootstrapping).
current_task_silo_label
Performs the current task silo label operation.
debug_boot_reg_active
Returns true while boot-time silo registration critical path is executing.
decode_family πŸ”’
Performs the decode family operation.
dump_user_fault πŸ”’
Performs the dump user fault operation.
enforce_cap_for_current_task
Enforce that the current task may use a delegated capability.
enforce_console_access
Enforce console access for the current task.
enforce_path_for_current_task
Performs the enforce path for current task operation.
enforce_registry_bind_for_current_task
Performs the enforce registry bind for current task operation.
enforce_silo_may_grant
Performs the enforce silo may grant operation.
extract_strate_label πŸ”’
Performs the extract strate label operation.
grant_silo_admin_to_task
handle_user_fault
Handles user fault.
is_admin_task πŸ”’
Returns whether admin task.
is_delegated_resource πŸ”’
Returns whether delegated resource.
is_valid_label πŸ”’
Returns whether valid label.
kernel_check_spawn_invariants
Performs the kernel check spawn invariants operation.
kernel_destroy_silo
Performs the kernel destroy silo operation.
kernel_limit_silo
Dynamically adjust resource quotas for a silo.
kernel_pledge_silo
kernel_rename_silo_label
Performs the kernel rename silo label operation.
kernel_resume_silo
kernel_sandbox_silo
kernel_spawn_strate
Performs the kernel spawn strate operation.
kernel_start_silo
Performs the kernel start silo operation.
kernel_stop_silo
Performs the kernel stop silo operation.
kernel_suspend_silo
kernel_unveil_silo
list_events_for_silo
list_events_snapshot
list_silos_snapshot
Performs the list silos snapshot operation.
map_elf_start_error πŸ”’
Maps elf start error.
merge_permissions πŸ”’
Performs the merge permissions operation.
normalize_unveil_path πŸ”’
Performs the normalize unveil path operation.
on_task_terminated
Best-effort cleanup hook called by the scheduler when a task terminates.
pack_fault
Performs the pack fault operation.
parse_module_header πŸ”’
Parses module header.
path_rule_matches πŸ”’
Performs the path rule matches operation.
permissions_subset πŸ”’
Performs the permissions subset operation.
read_caps_list πŸ”’
Reads caps list.
read_module_stream_from_port πŸ”’
Reads module stream from port.
read_u32_le πŸ”’
Reads u32 le.
read_u64_le πŸ”’
Reads u64 le.
read_user_config πŸ”’
Reads user config.
register_boot_strate_task
Performs the register boot strate task operation.
register_current_task_granted_resource
Performs the register current task granted resource operation.
release_current_task_memory
Release memory usage from the current task’s silo quota (if any).
release_task_silo_memory πŸ”’
Performs the release task silo memory operation.
require_silo_admin
Performs the require silo admin operation.
resolve_export_offset πŸ”’
Performs the resolve export offset operation.
resolve_module_handle πŸ”’
Performs the resolve module handle operation.
resolve_selector_to_silo_id πŸ”’
Performs the resolve selector to silo id operation.
resolve_silo_handle πŸ”’
Performs the resolve silo handle operation.
resolve_volume_resource_from_dev_path πŸ”’
Performs the resolve volume resource from dev path operation.
sanitize_label πŸ”’
Performs the sanitize label operation.
set_current_silo_label_from_path
Sets current silo label from path.
silo_detail_snapshot
silo_has_capability πŸ”’
Performs the silo has capability operation.
silo_info_for_task
silo_output_drain
Drain the output buffer for a silo, returning accumulated bytes.
silo_output_write
Append data to a silo’s output ring buffer (called from sys_debug_log).
start_silo_by_id πŸ”’
Starts silo by id.
stop_or_kill_silo_by_id πŸ”’
Stops or kill silo by id.
sys_module_get_symbol
Performs the sys module get symbol operation.
sys_module_load
Performs the sys module load operation.
sys_module_query
Performs the sys module query operation.
sys_module_unload
Performs the sys module unload operation.
sys_silo_attach_module
Performs the sys silo attach module operation.
sys_silo_config
Performs the sys silo config operation.
sys_silo_create
Performs the sys silo create operation.
sys_silo_enter_sandbox
Performs the sys silo enter sandbox operation.
sys_silo_event_next
Performs the sys silo event next operation.
sys_silo_kill
Performs the sys silo kill operation.
sys_silo_pledge
Performs the sys silo pledge operation.
sys_silo_rename
Sets the strate_label of a silo identified by handle.
sys_silo_resume
Performs the sys silo resume operation.
sys_silo_start
Performs the sys silo start operation.
sys_silo_stop
Performs the sys silo stop operation.
sys_silo_suspend
Performs the sys silo suspend operation.
sys_silo_unveil
Performs the sys silo unveil operation.
task_silo_id
Get the silo ID for a given task, if any.
try_silo_id_for_task
Return silo identity + memory accounting for a task, if the task belongs to a silo.