Skip to content

Commit 417a613

Browse files
committed
fix(report): K8 named a storage test that no longer exists
The firmware test was renamed PinKdfV16RewrapsToV19AfterCorrectPin -> PinKdfRewrapsToActiveVersionAfterCorrectPin when the STORAGE_PIN_KDF_V19 gate went to 0, because it is no longer v19-specific: it now asserts BOTH sides of the gate, which is what makes it meaningful in the shipping build where v19 is off. Catalog validation failed against the old name. Adds K8b for PinUnlocksAfterRebootUnderV17, the end-to-end create/set-PIN/ serialize/reload/unlock/decrypt regression. It belongs in a curated catalog precisely because every other storage test stays in RAM, and the wallet lockout it guards lived on the serialize/reboot boundary.
1 parent 3bbf996 commit 417a613

1 file changed

Lines changed: 15 additions & 4 deletions

File tree

scripts/generate-test-report.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -745,12 +745,23 @@ def _arg_shown(a):
745745
'Bytes past the declared roll count must not affect the result, so uninitialized tail '
746746
'bytes of the roll buffer can never leak into seed material.',
747747
[]),
748-
('K8', 'Storage', 'PinKdfV16RewrapsToV19AfterCorrectPin',
749-
'v16 storage unlocks and rewraps to v19',
750-
'The migration path for the hardened PIN KDF: an existing device on the old format must '
751-
'still unlock with its current PIN and then be rewrapped. If this regressed, every '
748+
('K8', 'Storage', 'PinKdfRewrapsToActiveVersionAfterCorrectPin',
749+
'Correct PIN unlocks and rewraps to the ACTIVE KDF',
750+
'The migration path for the hardened PIN KDF: an existing device must still unlock with '
751+
'its current PIN, and any rewrap must target whatever KDF the build actually has '
752+
'enabled. Renamed from PinKdfV16RewrapsToV19AfterCorrectPin because it is no longer '
753+
'v19-specific -- the test now asserts BOTH sides of the STORAGE_PIN_KDF_V19 gate, so it '
754+
'is meaningful in the shipping build where v19 is off. If this regressed, every '
752755
'upgrading device would be locked out of its own seed.',
753756
[]),
757+
('K8b', 'Storage', 'PinUnlocksAfterRebootUnderV17',
758+
'The PIN still opens the wallet after a reboot',
759+
'The whole round trip in device order: create, set a PIN, serialize the V17 record as '
760+
'storage_commit() does, reload into fresh state as a boot would, unlock, decrypt. Every '
761+
'other storage test stays in RAM, and the wallet lockout this guards against lived '
762+
'exactly on the serialize/reboot boundary -- a wrap the persisted record could not '
763+
'describe, so the next boot derived the wrong KDF and every PIN failed.',
764+
[]),
754765
('K9', 'Storage', 'PinKdfV2FlagIsVersionedInV19',
755766
'KDF version flag is recorded in v19',
756767
'The new KDF is marked in the storage version band, so firmware can tell which derivation '

0 commit comments

Comments
 (0)