code wiki / (root) / nx_tea_pinned_gate.nx

nx_tea_pinned_gate.nx

buildroot/runtime/nx_tea_pinned_gate.nx

4069 B62 linesdepth 4pulls 5 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 sys_read 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 ↻ tr_run_capture_to tr_run_capture sys_mmap sys_pipe2 sys_fork sys_close sys_dup3 sys_execve_clean sys_close ↻ sys_execve sys_exit sys_read ↻ sys_wait4 wait_exit_code sys_mmap ↻ sys_pipe2 ↻ sys_fork ↻ sys_close ↻ sys_default_signal sys_mmap ↻ sys_dup3 ↻ sys_execve_clean ↻

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