diff --git a/vmm/src/cpu.rs b/vmm/src/cpu.rs index 11d4f2dc9..166a9104c 100644 --- a/vmm/src/cpu.rs +++ b/vmm/src/cpu.rs @@ -157,6 +157,9 @@ pub enum Error { #[error("Error adding CpuManager to MMIO bus: {0}")] BusError(#[source] vm_device::BusError), + #[error("Requested zero vCPUs")] + DesiredVCpuCountIsZero, + #[error("Requested vCPUs exceed maximum")] DesiredVCpuCountExceedsMax, @@ -1320,6 +1323,10 @@ impl CpuManager { return Ok(false); } + if desired_vcpus < 1 { + return Err(Error::DesiredVCpuCountIsZero); + } + if self.check_pending_removed_vcpu() { return Err(Error::VcpuPendingRemovedVcpu); }