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

Function extend_rtmr_via_ioctl

tdx-attest/src/linux.rs:260–283  ·  view source on GitHub ↗
(index: u32, digest: [u8; 48])

Source from the content-addressed store, hash-verified

258}
259
260fn extend_rtmr_via_ioctl(index: u32, digest: [u8; 48]) -> Result<()> {
261 let file = OpenOptions::new()
262 .read(true)
263 .write(true)
264 .open(TDX_GUEST_DEVICE)
265 .map_err(|e| TdxAttestError::ExtendFailure(format!("open {TDX_GUEST_DEVICE}: {e}")))?;
266
267 let req = TdxExtendRtmrReq {
268 data: digest,
269 index: index as u8,
270 };
271
272 let ret = unsafe { libc::ioctl(file.as_raw_fd(), tdx_cmd_extend_rtmr(), &req) };
273 if ret != 0 {
274 let err = std::io::Error::last_os_error();
275 let errno = err.raw_os_error().unwrap_or(0);
276 if errno == libc::EINVAL {
277 return Err(TdxAttestError::InvalidRtmrIndex(index));
278 }
279 return Err(TdxAttestError::ExtendFailure(format!("ioctl: {err}")));
280 }
281
282 Ok(())
283}
284
285// ============================================================================
286// ConfigFS Quote Generation

Callers 1

extend_rtmrFunction · 0.85

Calls 2

tdx_cmd_extend_rtmrFunction · 0.85
writeMethod · 0.80

Tested by

no test coverage detected