Skip to content

Five small audit findings: honest fault-C gate, anchored wipe verdict, data-reset + hugepage coverage, installer mount trap - #928

Merged
VijitSingh97 merged 1 commit into
develop-v2from
fix/appliance-audit-smalls
Aug 13, 2026
Merged

Five small audit findings: honest fault-C gate, anchored wipe verdict, data-reset + hugepage coverage, installer mount trap#928
VijitSingh97 merged 1 commit into
develop-v2from
fix/appliance-audit-smalls

Conversation

@VijitSingh97

Copy link
Copy Markdown
Collaborator

The audit wave's confirmed small findings, applied together before the KVM battery run so the battery exercises the sharpened asserts:

  • Fault C asserted only the absence of "panic" — an installer that quietly ACCEPTED the corrupted bundle read as a pass. Now gated on the install command's own exit status (refusal is the assertion), panic still caught separately.
  • wipe=data verdict used an unanchored grep: verdict=OK,USER-DATA-SURVIVED contains verdict=OK and passed. Anchored with grep -qx.
  • pithead-data-reset — the last-resort recovery on a shell-less box — had zero verify-image coverage while every other boot-path unit is pinned. Unit shipped/enabled/script-executable/ordered-before-data.mount now asserted.
  • Hugepages (called load-bearing in the Dockerfile itself) had no static or dynamic coverage: verify-image pins the baked sysctl; the battery's boot phase reads /proc/meminfo (≥3072 pages).
  • pithead-install wipe=data left the data partition mounted-busy when a step failed mid-move (the script's EXIT trap installs later in main). A scoped expand-now trap (the house SC2064 pattern) releases it for the retry.

make lint green; bash -n on all three files; the fault-C and wipe legs get their live proof in the battery run queued next. Ponytail: five one-site changes, nothing speculative.

🤖 Generated with Claude Code

…pe verdict, data-reset + hugepage coverage, installer mount trap

- fault C asserted only the absence of 'panic'; an installer that ACCEPTED
  the corrupted bundle read as a pass. Gate on the install's exit status.
- the wipe=data verdict grep matched 'verdict=OK' inside
  'verdict=OK,USER-DATA-SURVIVED' — anchored to the exact line.
- pithead-data-reset (the shell-less box's last-resort recovery) had zero
  verify-image coverage; unit/enablement/script/ordering now pinned.
- the load-bearing hugepage sysctl had no static or boot coverage; the
  bake is pinned and the boot phase reads /proc/meminfo.
- pithead-install's wipe=data left the partition mounted-busy if a step
  failed mid-move (its EXIT trap installs later in main) — a scoped
  expand-now trap releases it for the retry.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@VijitSingh97
VijitSingh97 merged commit e5d7854 into develop-v2 Aug 13, 2026
16 checks passed
@VijitSingh97
VijitSingh97 deleted the fix/appliance-audit-smalls branch August 14, 2026 20:46
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