Skip to content

pldm-common: add the UpdateSecurityRevision message - #22

Merged
chrysh merged 1 commit into
mainfrom
add-update-security-revision
Sep 16, 2026
Merged

chrysh merged 1 commit into
mainfrom
add-update-security-revision

Conversation

@chrysh

@chrysh chrysh commented Sep 14, 2026

Copy link
Copy Markdown
Contributor

Adds PLDM command 0x22, UpdateSecurityRevision, from DSP0267 1.3.0
section 12.19, Table 47.

The UA sets the Security Revision Number Delayed Update option
(UpdateOptionFlags bit 2) on UpdateComponent so the FD applies and
activates an image without raising the security revision. The image then
runs at the old floor and a downgrade is still allowed, which is the window
the UA uses to test it. UpdateSecurityRevision closes that window. The FD
takes it in the IDLE state, outside update mode, and it acts on the active
running image, not a pending one.

The supporting pieces were already in the tree and are untouched:
UpdateOptionFlags::svn_delayed_update,
FirmwareDeviceCapability::svn_update_support, and the
UpdateSecurityRevisionNotPermitted (0x95) completion code.

Scope

Message layer only: the two structs, the command code, and round-trip
tests. FD dispatch needs a new FdOps callback to commit the revision, so
the trait change and its wiring are a follow-up PR.

Tests

cargo test --all-features --workspace passes, 100 tests. Four are new:
request and response round trips, the downstream-device form
(classification 0xFFFF, index 0xFF), and a short-buffer rejection on
both encode and decode.

Assisted-by: Claude

Adds command 0x22 and its request and response structs, DSP0267 1.3.0
section 12.19. The UA sends it after a transfer that set the Security
Revision Number Delayed Update option, to commit the revision once the
new image has run; until then a downgrade is still allowed.

Message layer only. The FD dispatch needs a new FdOps callback, so the
trait change and its wiring are a follow-up.

Assisted-by: Claude
@chrysh
chrysh marked this pull request as ready for review September 14, 2026 18:55
@chrysh
chrysh merged commit dc5a435 into main Sep 16, 2026
8 checks passed
@chrysh
chrysh deleted the add-update-security-revision branch September 16, 2026 14:59
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.

2 participants