You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: turn send_cmio_response failures into no-ops in log and verify
The core send_cmio_response can no longer fail. If verification could
fail for a reachable machine state and response, there would be states
for which the honest party cannot produce a log that proves the
resulting state transition. The iflags.Y and response-length checks now
return without touching the state, like the advance-state yield check
already did. The length check also moves ahead of the revert root hash
write, where it can still prevent all state changes. iflags.Y remains
the first access, so a no-op log is never empty, which replay requires.
The host-facing machine::send_cmio_response still refuses misuse
upfront. check_pending_cmio_request takes over the dropped checks,
requiring a manual yield for every response reason and a response that
fits in the rx buffer, with the same error messages as before.
machine::log_send_cmio_response no longer fails for any machine state
or response argument and logs a no-op instead.
0 commit comments