MCPcopy Create free account
hub / github.com/Dstack-TEE/dstack / get_report

Function get_report

tdx-attest/src/linux.rs:191–210  ·  view source on GitHub ↗

Get a TDX report for the given report data.

(report_data: &TdxReportData)

Source from the content-addressed store, hash-verified

189
190/// Get a TDX report for the given report data.
191pub fn get_report(report_data: &TdxReportData) -> Result<TdxReport> {
192 let file = OpenOptions::new()
193 .read(true)
194 .write(true)
195 .open(TDX_GUEST_DEVICE)
196 .map_err(|e| TdxAttestError::DeviceFailure(format!("open {TDX_GUEST_DEVICE}: {e}")))?;
197
198 let mut req = TdxReportReq {
199 reportdata: *report_data,
200 tdreport: [0u8; TDX_REPORT_SIZE],
201 };
202
203 let ret = unsafe { libc::ioctl(file.as_raw_fd(), tdx_cmd_get_report0(), &mut req) };
204 if ret != 0 {
205 let err = std::io::Error::last_os_error();
206 return Err(TdxAttestError::ReportFailure(format!("ioctl: {err}")));
207 }
208
209 Ok(TdxReport(req.tdreport))
210}
211
212/// Extend a TDX RTMR (Runtime Measurement Register).
213///

Callers 2

get_quote_via_vsockFunction · 0.70
mainFunction · 0.50

Calls 3

tdx_cmd_get_report0Function · 0.85
TdxReportClass · 0.85
writeMethod · 0.80

Tested by 1

mainFunction · 0.40