code wiki / (root) / nx_tea_pinned_gate.nx

nx_tea_pinned_gate.nx

buildroot/runtime/nx_tea_pinned_gate.nx

4077 B62 linesdepth 6pulls 7 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_tea_pinned_gate.nx -- proves fixed-arg (pinned) execution: a GREEN row's 4th field pins argv and IGNORES the caller's args (so exposing a multi-sub control binary can't be escalated to another sub), while a row WITHOUT a 4th field still uses the caller's args (backward compat). Uses the argecho witness (echoes its argv). PREREQ: _offc/nx_tool_argecho.elf. license_tier: ORIGINAL expect_exit: 0

dependencies 2 imports · 0 importers

nx_tool_exec_allow.nx nx_gate.nx nx_tea_pinned_gate.nx

imports: nx_tool_exec_allow.nxnx_gate.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main gw sys_write pg_write tea_resolve_pinned_from tea_name_ok tea_read_conf tea_field_eq_n tea_field_eq pg_streq pg_expect gw ↻ tea_tokenize tea_run_pinned_from tea_run_pinned_from_to tea_resolve_pinned_from ↻ tea_tokenize_checked tea_tokenize ↻ tr_run_capture_to tr_run_capture_tr tr_run_capture_core tr_run_capture_core_owned gn sys_write ↻ sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻

structs

none

consts

none

functions

8func pg_write(path: *u8, content: *u8) -> i64
called by 1: main
15func pg_streq(a: *u8, b: *u8) -> i64 { var i: i64 = 0; while a[i] != (0 as u8) { if a[i] != b[i] { return 0 } i = i + 1 } if b[i] != (0 as u8) { return 0 } return 1 }
called by 1: main
16func pg_expect(cond: i64, pass: *i64, tot: *i64, label: *u8) -> i64
called by 1: main calls 1: gw
23func main() -> i64