Repository navigation
Conversation
Add an additive persistent block-device mode that verifies tenant-signed, digest-bound DEKs before non-destructive in-place LUKS2 initialization or reopen. Preserve the legacy empty and encrypted paths, derive stable mapper identities from measured volume IDs, and fail closed on foreign state, ambiguous probes, wrong keys, and unsafe mount configuration. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
chalabi2
marked this pull request as draft
August 1, 2026 16:01
Confidential image pulls fail on the pinned pre-6.6 guest kernel because libc rejects fchmodat with AT_EMPTY_PATH. Resolve the O_PATH inode through procfs and call chmod so Kata can unpack OCI layers. Backports confidential-containers/guest-components@dcd55ea16ea4. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Emit one stable success event after persistent LUKS reconciliation so an operator can prove that the first sandbox formatted the volume and later sandboxes reopened it. The event contains only the digest-derived mapper and non-secret state flags. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
Replace mount-failure-driven formatting with an explicit blkid probe. Only an initializing volume with no recognized content may be formatted; ready, foreign, ambiguous, and indeterminate devices fail closed. Add table-driven probe tests and an ignored privileged loopback test that exercises every initialization crash boundary without reformatting existing data. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
chalabi2
marked this pull request as ready for review
August 4, 2026 19:11
Member
|
I did not find major correctness issues overall. Just want to raise 2 points. the first-init cost is relevant, given the 1MB |
A process-wide lock made every secure mount wait behind first-use scans on unrelated devices. Key the lock by the resolved device number so path aliases still serialize while distinct devices initialize concurrently. Keep the complete zero scan as the authorization boundary for formatting. Log progress and document its expected cost for large volumes. Signed-off-by: Joseph Chalabi <chalabi.joseph@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
Confidential Akash workloads need durable Block storage whose DEK is released only after attestation. CDH must initialize a new volume and reopen it after a guest restart without treating a transient mount failure as authority to format data.
What changed
sourceType: persistentLUKS2 filesystem pathvolumeIdand signature-verifiedsealed.*referenceblkidbefore mount or formatemptyandencryptedbehaviorThe state label supports crash recovery; it is not an anti-rollback mechanism.
Validation
git diff --checkpassblkidruntime dependencyThe local macOS host cannot compile the Linux-only loop-device dependency, and this Akash fork does not expose runnable Actions workflows. The privileged loopback test therefore remains a required Linux qualification step before merge.
Scope
This PR does not add anti-rollback, DEK rotation, RIM support, read-only persistent mounts, or a generic wipe fallback. Storage provisioners must still hand CDH a deterministically clean new Block volume.