oxidecomputer / oxidecomputer/hubris
dice-mfg artifacts may be lost despite returning success to programming station
Open
@flihp is already working on this.
Since Jun 22, 2023.
- Dominant language
- Rust
- Stars
- 3.6k
- Forks
- 239
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 23
Description
gen_artifacts_from_mfg only writes DiceState to flash after SerialMfg::run() has completed. This means that the programming station sent a BREAK command and received an ACK indicating that the process was completed successfully. If the chip resets before the write to flash, the DiceState is lost and the programming station has no idea. This will ultimately manifest as the RoT booting into dice-mfg mode again.
Suggest ensuring DiceState is written to flash before ACKing the BREAK command to the programming station.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.