From 8e010f1aa3e3d09fc40e721aa9e90de36898befa Mon Sep 17 00:00:00 2001 From: Muminul Islam Date: Mon, 28 Jul 2025 12:09:28 -0700 Subject: [PATCH] vmm: don't configure system if rsdp is not available In case of CVM guest rsdp is set to none. Unwrapping it make the vmm crashed. Don't call configure system if the rsdb address is none. Signed-off-by: Muminul Islam --- vmm/src/vm.rs | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/vmm/src/vm.rs b/vmm/src/vm.rs index d7bba25cc..012ebef05 100644 --- a/vmm/src/vm.rs +++ b/vmm/src/vm.rs @@ -2332,15 +2332,16 @@ impl Vm { let rsdp_addr = self.create_acpi_tables(); #[cfg(not(target_arch = "riscv64"))] - // Configure shared state based on loaded kernel - entry_point - .map(|entry_point| { - // Safe to unwrap rsdp_addr as we know it can't be None when - // the entry_point is Some. - self.configure_system(rsdp_addr.unwrap(), entry_point) - }) - .transpose()?; - + { + #[cfg(not(feature = "sev_snp"))] + assert!(rsdp_addr.is_some()); + // Configure shared state based on loaded kernel + if let Some(rsdp_adr) = rsdp_addr { + entry_point + .map(|entry_point| self.configure_system(rsdp_adr, entry_point)) + .transpose()?; + } + } #[cfg(target_arch = "riscv64")] self.configure_system().unwrap();