Switch crate used for TDX quote generation from configfs-tsm to tdx-attest#39
Open
ameba23 wants to merge 2 commits into
Open
Switch crate used for TDX quote generation from configfs-tsm to tdx-attest#39ameba23 wants to merge 2 commits into
ameba23 wants to merge 2 commits into
Conversation
0x416e746f6e
approved these changes
May 13, 2026
| pub const PCS_URL: &str = "https://api.trustedservices.intel.com"; | ||
|
|
||
| /// Quote generation using configfs_tsm | ||
| /// Quote generation using tdx-attest |
Member
There was a problem hiding this comment.
suggestion (non-blocking):
perhaps we shouldn't even mention what we use to get the quote
0x416e746f6e
approved these changes
May 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR switches the crate used for TDX quote generation from
configfs-tsmtotdx-attest.Closes #26
tdx-attesthas some features lacking inconfigfs-tsm, such as fallback to using vSOCK to QGS when configfs-tsm interface is not available, better generation handling, and better retry logic.There is also a licensing issue with
configfs-tsm- it is AGPL. Although i could probably get that changed if there were not other reasons to switch.However, two things to be aware of:
Concurrency
tdx-attestserializes allget_quotecalls with a process-wide mutex. That reduces races around its shared configfs path, but it also means concurrent callers in the same process cannot generate quotes in parallel.However,
configfs-tsmcreates a separate configfs directory per input hash, so in principle quote with different report data can proceed independently.In practice we know that quote generation is mostly serialized by the QGS, and on GCP our benchmarks indicate it is totally serialized, so this should not slow things down.
Timeouts
tdx-attest’swait_for_generation_changeloops without a timeout after writing inblob. If configfs accepts the write but for some reason the generation never changes, it can hang. Sinceconfigfs-tsmmay also block duringread_to_end(depending on kernel behavior), i don't consider this an issue for this PR. But we could consider putting a timeout around the call toget_quote.TODO