generated from erix/meta
[FEATURE] Audit authority, code quality and documentation in bootloader #2
Labels
No labels
bug
ci
docs
duplicate
enhancement
help wanted
invalid
performance
phase-6
question
refactor
security
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
erix/bootloader#2
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem and motivation
This issue tracks continuous Phase 6 audit closure for
bootloader. Verify boot-critical payloads and construct the initial kernel handoff at the firmware trust boundary.An initial inventory is not a security or documentation closure claim. Evidence must follow each changed boundary through final heads, with priority security, reliability, then performance.
Proposed behavior and scope
Current inventory: 1 Cargo target (1 bin); manifests:
Cargo.toml. Include explicit and automatically discovered targets, supported features and target-specific configurations.Inventory every startup/runtime grant and authenticated peer, then success, denial, cancellation, failed transfer, restart and teardown. Trace callers and downstream providers so names, numeric identities and retained aliases never become implicit authority.
Authority, security and reliability
Maintain a finding register with public finding references, exact revisions, invariants, reproduction, owners, regression tests and closure evidence. Publish only non-sensitive status here; suspected vulnerabilities follow SECURITY.md. Each dimension below needs its own result and rationale; an absent daemon or current Rust target is not a blanket exemption.
Acceptance criteria
missing_docsenforcement without blanket allowances or hidden-API escapes, warning-denied private-item rustdoc and an undocumented-public-API negative gate.cargo fmt --all -- --check, strict Clippy, unit/doctests and warning-denied builds/rustdoc for every owned crate/target under default and all valid feature, freestanding/host, SMP and profile combinations; test mutually exclusive combinations separately. Add focused VM regressions for runtime behavior and observe the older catalog and unit tests at the exact published heads.Alternatives and tradeoffs
Use cohesive local refactoring or a justified shared extraction only after identifying real common semantics and authority boundaries. Remove superseded paths after preserving maintained coverage. Profile before optimization; document unavoidable ABI/hardware limits and explicit quotas rather than weakening security for speed.
Validation checkpoint — 14 September 2026: Signed Bootloader
3a99ba23cad27d7db4b87919425fc44d6e5db71bpasses strict development/release default/all host and UEFI checks, 34 units, seven standalone tests, all four Python suites and private rustdoc. CI 137 and 138 pass with four complete logs and zero warning candidates. Both final Integration7cc0593e101b2e0ca42f24d4fa189dd96cb1455cnative VMs enter the kernel and complete their unchanged oracles with empty stderr. No observed Bootloader failure is attributed to the former register-constraint defect.Tracking and rollout
The correction is signed as
e7fa39357a38c21529cccfd16cf3446eb07e8aa5. The actual namespace predicate now follows the defining crate in legacy and Rust v0 names, preserving the four exact C memory names and the core/alloc/compiler-builtins boundary. Foreign definitions cannot gain access by mentioning a permitted type later in the name. Prefix recognition uses checked lengths and iterative traversal; the unchanged loader still requires an exact authenticated kernel export.The original predicate fails against an observed v0 import. Five new classifier regressions pass, including observed names, namespace refusal, malformed prefixes and 4,096 nested path components. All strict development/release default/all-feature host and UEFI checks pass locally: 34 unit and seven standalone tests per selection, plus the 12/22/13/6 Python suites. Formatting, private/build-script rustdoc and canonical documents pass with no compiler or lint warnings.
Push CI 135 and PR CI 136 pass for that signed head. Four complete logs total 144,258 bytes without warning candidates. Both workflows complete the original source preparation, fresh profile comparisons and deliberate release diagnostic checks; raw CI EFI/PDB artifacts are not published for independent byte inspection.
A new signed-image VM using this Bootloader resolves imports, seals mappings and enters Kernel under the unchanged 60-second hard and 45-second silence limits. The loader defect is resolved. The overall lifetime scenario still fails its required serial markers; Kernel issue 9 tracks that separate diagnostic defect. No realm rollout or full guest build is established.
feature/posix-compat; update linked WIP PRs after coherent signed checkpoints using canonical CONTRIBUTING.md messages.55f2e5295adcff8215269ff694aabb85a276f122; refresh component/dependency heads and their own CI evidence as implementation advances.[FEATURE] [P02.R03] Audit authority, code quality and documentation in bootloaderto [FEATURE] Audit authority, code quality and documentation in bootloader