Skip to content

feat(runtime): stage bounded canonical kernel read custody - #5441

Merged
auser merged 2 commits into
mainfrom
feat/immutable-cold-boot-kernel-lease
Nov 13, 2026
Merged

auser merged 2 commits into
mainfrom
feat/immutable-cold-boot-kernel-lease

Conversation

@auser

@auser auser commented Nov 13, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add a resident, kernel-only publication/claim substrate for canonical signed Linux kernels. This does not enable a warm claim, change an admitted launch, hand a descriptor to a VMM, or establish a full boot closure.

What changed

  • Require an explicit byte/owner-FD budget before reserving an ID or staging a kernel. Authenticate the canonical owner and selected bytes, copy to a Linux memfd, seal it before validating the final digest, and issue a nonserializable owner-epoch/generation handle.
  • On claim, recheck canonical identity, current revocation/publisher selection and memfd seals without rehashing the payload. Expose bounded reads, not a duplicable descriptor. Removal blocks new claims and retains an active publication until its in-process readers release it.
  • Add refusal and race regressions, a signed-kernel test requiring the pinned public kernel, and update ADR-059's preview status. Keep the merged main branch's existing footprint ceilings; this change fits beneath them.

Validation

  • Prior to rebasing on current main: cargo check --workspace, cargo clippy --locked -p mvm-runtime --lib --tests -- -D warnings, Linux-target cargo-zigbuild check -p mvm-runtime --tests, cargo fmt --all -- --check, two boot-input budget tests and ten existing snapshot-service tests passed. The footprint, file-size, claim-catalog and declared-backing gates passed.
  • Same-head CI is pending. Linux syscall tests and the ignored signed-kernel fixture test were not run locally. cargo test --workspace was started but stopped during compilation; Linux-target Clippy could not build ring with the installed cross-C toolchain.

Review focus

This service keeps the file and reservation in one process. No raw descriptor escapes and a dropped read lease does not purport to prove a detached VMM's exit. The eventual VMM handoff needs a separately reviewed last-child/process-lifetime budget owner and live scoped Firecracker witnesses before warm claims can be considered. No PR-only fixture becomes a publisher or release identity.

Linked

@auser

auser commented Nov 13, 2026

Copy link
Copy Markdown
Collaborator Author

Validation on 889008f: CI 43389807351 passed, including Linux workspace tests, invariant gates, feature-combination Clippy, formatting and core Clippy. Local cargo clippy --workspace -- -D warnings and cargo fmt --all -- --check passed; focused snapshot-service tests passed (12/12). The first local cargo test --workspace run hit seven unrelated Unix-socket SUN_LEN failures under Delta’s long TMPDIR; TMPDIR=/tmp cargo test --locked -p mvm-backends --lib passed (435/435), and the full short-TMPDIR workspace rerun is in progress. The ignored signed-kernel fixture test requiring MVM_TEST_CANONICAL_KERNEL was not run. No VMM descriptor handoff or warm-boot evidence is claimed.

@auser
auser added this pull request to the merge queue Nov 13, 2026
@auser

auser commented Nov 13, 2026

Copy link
Copy Markdown
Collaborator Author

Final local validation: TMPDIR=/tmp cargo test --workspace passed, including doc tests. The short TMPDIR avoids the macOS Unix-socket path-length failures observed with Delta’s default temporary path. cargo clippy --workspace -- -D warnings passed. PR CI 43389807351 passed; the merge queue is validating the merge-group commit. The signed-kernel fixture test remains ignored without MVM_TEST_CANONICAL_KERNEL, and no VMM/warm claim is implied.

Merged via the queue into main with commit 634fea5 Nov 13, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant