Skip to content

docs(rfc): name four design risks the documents left implicit - #34

Merged
MatejGomboc merged 8 commits into
mainfrom
claude/design-concerns
Nov 6, 2026
Merged

MatejGomboc merged 8 commits into
mainfrom
claude/design-concerns

Conversation

@MatejGomboc

Copy link
Copy Markdown
Member

Summary

Four risks the documents had left implicit, stated so that they reach your verdict. Proposed RFCs and the document changelog only.

Explanation for the maintainer

  1. Meltdown (RFC-0005 §6). The kernel stays mapped in every address space, so on an affected CPU any process could read all of RAM. Such parts are stated to be outside the security target unless page-table isolation is built, which is your call at §17.9. A boot test reports which it is. The Cortex-A72 passes only through a list of known-immune parts, because it does not implement CSV3. Isolation is not designed out, but it would reopen RFC-0006 §9 and RFC-0007 §3.
  2. O-22 (RFC-0003a, row T2). "Only capabilities handed to it for pending requests" cannot hold under forwarders. T2 proposes that O-22 state the bound and the duty to prove it, and leave the inventory to the broker RFC.
  3. Masked queue walks (RFC-0006, RFC-0003a). A hostile process can impose interrupt latency through them, so the thread and deadline capacities become provisional security parameters. Open question 8 says plainly that the pops have no easy remedy.
  4. The big lock (RFC-0006). It stands for now, but A4 no longer closes RFC-0003 §14.2. Open question 9 owes a threshold, measured at increment 14.

Unverified, for your attention: a search summary of a follow-up paper by the same group (arXiv 1609.08372) suggests x86 big-lock IPC throughput may plateau at about four cores. The reviewer could not read the paper. If it is right, the trigger may fire at the first measurement.

Which pillar does this serve?

Pillar 2 and A5: the bounds the design claims, stated honestly. The threat model itself is untouched; its changes are proposed, to land on each RFC's acceptance.

If this changes a document or the constitution

RFC-0005's Affects names Constitution §6 as a reading, for your judgement: a security target narrower than Tier-1 support. No constitution text changes.

  • Cross-references still resolve; no clause is left contradicting another (/check-coherence)
  • If this is a constitution amendment, it is the maintainer's, and docs/CHANGELOG.md records it: not an amendment
  • No section other documents cite has been renumbered

Borrow Ledger

  • I checked the Borrow Ledger (CONSTITUTION.md §4) for this subsystem
  • The verdict for this subsystem is: write ourselves
  • Vendored code retains its original licence notices; new files carry an SPDX header: no new files

unsafe register

  • New unsafe blocks: None
  • Every new unsafe block carries a // SAFETY: comment
  • Every unsafe block is inside a module CLAUDE.md designates for it
  • I have listed them in the session summary / PR description above

Checklist

  • The pre-push checks pass: not run in the devcontainer, because Docker is not running here. markdownlint 0.23.1, spelling and code spans passed on the host
  • Boots in QEMU where applicable: n/a, no code changed
  • CHANGELOG.md updated under [Unreleased]: docs/CHANGELOG.md, which takes document changes
  • Commit messages follow Conventional Commits (see CONTRIBUTING.md)

Reviews

Round Reviewers High findings Outcome
1 Soundness (high effort), coherence (medium) 3 distinct Fixed: the threat-model edit moved to a proposal, the isolation claim corrected, O-22 rewritten
2 One fresh reviewer (Opus, medium), narrow 2, both in O-22's rewrite Stop rule applied. The list of what the broker holds kept being wrong, so it was dropped rather than patched

The final rethink of T2 and the other round 2 fixes in 71528a9 have not been reviewed again.

🤖 Generated with Claude Code

MatejGomboc and others added 8 commits November 6, 2026 16:32
Meltdown-class CPUs fall outside the security target while the kernel
stays mapped. O-22's text cannot hold under forwarders, so RFC-0003a
proposes amending it. Masked queue walks make the thread capacity a
security parameter. The big lock stands for now, with a trigger.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
The threat model waits for RFC-0005's verdict, so its Meltdown text
becomes a proposal. Isolation is said to reopen other RFCs, because
x86_64 pushes to TSS.RSP0 before any stub runs. O-22's first sentence is
rewritten whole, and the big lock's trigger becomes an open question.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Two rounds of review broke the list of what the broker holds, so O-22's
proposed text states the bound and the duty to prove it, not the list.
The remedies for masked queue pops are stated honestly, and each owed
measurement gets an increment.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@MatejGomboc
MatejGomboc merged commit 8af36e6 into main Nov 6, 2026
6 checks passed
@MatejGomboc
MatejGomboc deleted the claude/design-concerns branch November 6, 2026 16:03
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