Skip to content

Commit 198e25b

Browse files
committed
feat(tdx): create a guest_memfd when TDX is enabled
Signed-off-by: Changyuan Lyu <changyuanl@google.com>
1 parent f07ca11 commit 198e25b

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

alioth/src/hv/kvm/vm/vm_x86_64.rs

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -79,18 +79,18 @@ impl KvmVm {
7979
}
8080

8181
pub fn create_guest_memfd(config: &VmConfig, fd: &OwnedFd) -> Result<Option<OwnedFd>> {
82-
let memfd = if let Some(Coco::AmdSnp { .. }) = &config.coco {
83-
let mut request = KvmCreateGuestMemfd {
84-
size: 1 << 48,
85-
..Default::default()
86-
};
87-
let ret = unsafe { kvm_create_guest_memfd(fd, &mut request) }
88-
.context(kvm_error::GuestMemfd)?;
89-
Some(unsafe { OwnedFd::from_raw_fd(ret) })
90-
} else {
91-
None
82+
let Some(coco) = &config.coco else {
83+
return Ok(None);
84+
};
85+
if !matches!(coco, Coco::AmdSnp { .. } | Coco::IntelTdx { .. }) {
86+
return Ok(None);
87+
}
88+
let mut gmem = KvmCreateGuestMemfd {
89+
size: 1 << 48,
90+
..Default::default()
9291
};
93-
Ok(memfd)
92+
let fd = unsafe { kvm_create_guest_memfd(fd, &mut gmem) }.context(kvm_error::GuestMemfd)?;
93+
Ok(Some(unsafe { OwnedFd::from_raw_fd(fd) }))
9494
}
9595

9696
pub fn init(&self, config: &VmConfig) -> Result<()> {

0 commit comments

Comments
 (0)