From 3d326df62848f34e8627078fef21ded2d4640974 Mon Sep 17 00:00:00 2001 From: Caspian443 Date: Tue, 22 Jul 2025 16:26:27 +0800 Subject: [PATCH] runtime-rs: hypervisor: add selinux_label parameter stubs to CH, Dragonball, Firecracker, and Remote Introduce a parameter stub for the API in the following hypervisor backends. The actual SELinux enforcement logic is not implemented yet and will be added in subsequent commits. - ch (): add stub - dragonball (): add stub - firecracker (): add stub - remote (): add stub Signed-off-by: Caspian443 --- src/runtime-rs/crates/hypervisor/src/ch/inner_hypervisor.rs | 2 +- src/runtime-rs/crates/hypervisor/src/ch/mod.rs | 3 ++- .../crates/hypervisor/src/dragonball/inner_hypervisor.rs | 2 +- src/runtime-rs/crates/hypervisor/src/dragonball/mod.rs | 3 ++- .../crates/hypervisor/src/firecracker/inner_hypervisor.rs | 2 +- src/runtime-rs/crates/hypervisor/src/firecracker/mod.rs | 3 ++- src/runtime-rs/crates/hypervisor/src/qemu/mod.rs | 3 ++- src/runtime-rs/crates/hypervisor/src/remote/inner.rs | 1 + src/runtime-rs/crates/hypervisor/src/remote/mod.rs | 3 ++- 9 files changed, 14 insertions(+), 8 deletions(-) diff --git a/src/runtime-rs/crates/hypervisor/src/ch/inner_hypervisor.rs b/src/runtime-rs/crates/hypervisor/src/ch/inner_hypervisor.rs index 6f114718dc..1cf03fa267 100644 --- a/src/runtime-rs/crates/hypervisor/src/ch/inner_hypervisor.rs +++ b/src/runtime-rs/crates/hypervisor/src/ch/inner_hypervisor.rs @@ -531,7 +531,7 @@ impl CloudHypervisorInner { Ok(()) } - pub(crate) async fn prepare_vm(&mut self, id: &str, netns: Option) -> Result<()> { + pub(crate) async fn prepare_vm(&mut self, id: &str, netns: Option, _selinux_label: Option) -> Result<()> { self.id = id.to_string(); self.state = VmmState::NotReady; diff --git a/src/runtime-rs/crates/hypervisor/src/ch/mod.rs b/src/runtime-rs/crates/hypervisor/src/ch/mod.rs index 9381569af8..270ce16719 100644 --- a/src/runtime-rs/crates/hypervisor/src/ch/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/ch/mod.rs @@ -65,9 +65,10 @@ impl Hypervisor for CloudHypervisor { id: &str, netns: Option, _annotations: &HashMap, + selinux_label: Option, ) -> Result<()> { let mut inner = self.inner.write().await; - inner.prepare_vm(id, netns).await + inner.prepare_vm(id, netns, selinux_label).await } async fn start_vm(&self, timeout: i32) -> Result<()> { diff --git a/src/runtime-rs/crates/hypervisor/src/dragonball/inner_hypervisor.rs b/src/runtime-rs/crates/hypervisor/src/dragonball/inner_hypervisor.rs index 14b0d02198..fbc3cbacc9 100644 --- a/src/runtime-rs/crates/hypervisor/src/dragonball/inner_hypervisor.rs +++ b/src/runtime-rs/crates/hypervisor/src/dragonball/inner_hypervisor.rs @@ -19,7 +19,7 @@ use crate::{ }; impl DragonballInner { - pub(crate) async fn prepare_vm(&mut self, id: &str, netns: Option) -> Result<()> { + pub(crate) async fn prepare_vm(&mut self, id: &str, netns: Option, _selinux_label: Option) -> Result<()> { self.id = id.to_string(); self.state = VmmState::NotReady; diff --git a/src/runtime-rs/crates/hypervisor/src/dragonball/mod.rs b/src/runtime-rs/crates/hypervisor/src/dragonball/mod.rs index 4b85420ad2..8bfb539b2c 100644 --- a/src/runtime-rs/crates/hypervisor/src/dragonball/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/dragonball/mod.rs @@ -75,9 +75,10 @@ impl Hypervisor for Dragonball { id: &str, netns: Option, _annotations: &HashMap, + selinux_label: Option, ) -> Result<()> { let mut inner = self.inner.write().await; - inner.prepare_vm(id, netns).await + inner.prepare_vm(id, netns, selinux_label).await } #[instrument] diff --git a/src/runtime-rs/crates/hypervisor/src/firecracker/inner_hypervisor.rs b/src/runtime-rs/crates/hypervisor/src/firecracker/inner_hypervisor.rs index bd38385a51..fa96fd3ba8 100644 --- a/src/runtime-rs/crates/hypervisor/src/firecracker/inner_hypervisor.rs +++ b/src/runtime-rs/crates/hypervisor/src/firecracker/inner_hypervisor.rs @@ -19,7 +19,7 @@ pub const ROOT: &str = "root"; const HYBRID_VSOCK_SCHEME: &str = "hvsock"; impl FcInner { - pub(crate) async fn prepare_vm(&mut self, id: &str, _netns: Option) -> Result<()> { + pub(crate) async fn prepare_vm(&mut self, id: &str, _netns: Option, _selinux_label: Option) -> Result<()> { debug!(sl(), "Preparing Firecracker"); self.id = id.to_string(); diff --git a/src/runtime-rs/crates/hypervisor/src/firecracker/mod.rs b/src/runtime-rs/crates/hypervisor/src/firecracker/mod.rs index 7c92a87075..05fd0c57cb 100644 --- a/src/runtime-rs/crates/hypervisor/src/firecracker/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/firecracker/mod.rs @@ -64,9 +64,10 @@ impl Hypervisor for Firecracker { id: &str, netns: Option, _annotations: &HashMap, + selinux_label: Option, ) -> Result<()> { let mut inner = self.inner.write().await; - inner.prepare_vm(id, netns).await + inner.prepare_vm(id, netns, selinux_label).await } async fn start_vm(&self, timeout: i32) -> Result<()> { diff --git a/src/runtime-rs/crates/hypervisor/src/qemu/mod.rs b/src/runtime-rs/crates/hypervisor/src/qemu/mod.rs index c012aec1ee..9c4bb016f3 100644 --- a/src/runtime-rs/crates/hypervisor/src/qemu/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/qemu/mod.rs @@ -58,9 +58,10 @@ impl Hypervisor for Qemu { id: &str, netns: Option, _annotations: &HashMap, + selinux_label: Option, ) -> Result<()> { let mut inner = self.inner.write().await; - inner.prepare_vm(id, netns).await + inner.prepare_vm(id, netns, selinux_label).await } async fn start_vm(&self, timeout: i32) -> Result<()> { diff --git a/src/runtime-rs/crates/hypervisor/src/remote/inner.rs b/src/runtime-rs/crates/hypervisor/src/remote/inner.rs index 47eec7e2b3..5627fdfe6e 100644 --- a/src/runtime-rs/crates/hypervisor/src/remote/inner.rs +++ b/src/runtime-rs/crates/hypervisor/src/remote/inner.rs @@ -141,6 +141,7 @@ impl RemoteInner { id: &str, netns: Option, annotations: &HashMap, + _selinux_label: Option, ) -> Result<()> { info!(sl!(), "Preparing REMOTE VM"); self.id = id.to_string(); diff --git a/src/runtime-rs/crates/hypervisor/src/remote/mod.rs b/src/runtime-rs/crates/hypervisor/src/remote/mod.rs index 233aacb3ec..00ca44ff4c 100644 --- a/src/runtime-rs/crates/hypervisor/src/remote/mod.rs +++ b/src/runtime-rs/crates/hypervisor/src/remote/mod.rs @@ -48,9 +48,10 @@ impl Hypervisor for Remote { id: &str, netns: Option, annotations: &HashMap, + _selinux_label: Option, ) -> Result<()> { let mut inner = self.inner.write().await; - inner.prepare_vm(id, netns, annotations).await + inner.prepare_vm(id, netns, annotations, _selinux_label).await } async fn start_vm(&self, timeout: i32) -> Result<()> {