summary refs log tree commit diff
path: root/arch
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2020-01-31 23:40:22 +0000
committerAlyssa Ross <hi@alyssa.is>2020-06-15 09:35:49 +0000
commit3e6aa18b5564fd0190bb4618b14a5de5653b0731 (patch)
treee37bb8e15d26008ae192001289d2c450cf998d59 /arch
parentca5bdd2ac3e473e9b082c44c2870f446b96323a2 (diff)
downloadcrosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar.gz
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar.bz2
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar.lz
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar.xz
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.tar.zst
crosvm-3e6aa18b5564fd0190bb4618b14a5de5653b0731.zip
devices: don't jail in ProxyDevice constructor
Jail functionality has been moved into a new JailedDevice struct,
which wraps ProxyDevice.

Doing this allows ProxyDevice to be much more generic and reusable.
Diffstat (limited to 'arch')
-rw-r--r--arch/src/lib.rs6
-rw-r--r--arch/src/serial.rs4
2 files changed, 5 insertions, 5 deletions
diff --git a/arch/src/lib.rs b/arch/src/lib.rs
index bab679a..2e875a5 100644
--- a/arch/src/lib.rs
+++ b/arch/src/lib.rs
@@ -20,8 +20,8 @@ use acpi_tables::sdt::SDT;
 use devices::split_irqchip_common::GsiRelay;
 use devices::virtio::VirtioDevice;
 use devices::{
-    Bus, BusDevice, BusError, PciAddress, PciDevice, PciDeviceError, PciInterruptPin, PciRoot,
-    ProxyDevice,
+    Bus, BusDevice, BusError, JailedDevice, PciAddress, PciDevice, PciDeviceError, PciInterruptPin,
+    PciRoot,
 };
 use io_jail::Minijail;
 use kvm::{IoeventAddress, Kvm, Vcpu, Vm};
@@ -256,7 +256,7 @@ pub fn generate_pci_root(
             keep_fds.push(event.as_raw_fd());
         }
         let arced_dev: Arc<Mutex<dyn BusDevice>> = if let Some(jail) = jail {
-            let proxy = ProxyDevice::new(device, &jail, keep_fds)
+            let proxy = JailedDevice::new(device, &jail, keep_fds)
                 .map_err(DeviceRegistrationError::ProxyDeviceCreation)?;
             pid_labels.insert(proxy.pid() as u32, proxy.debug_label());
             Arc::new(Mutex::new(proxy))
diff --git a/arch/src/serial.rs b/arch/src/serial.rs
index b817cfd..14ed70a 100644
--- a/arch/src/serial.rs
+++ b/arch/src/serial.rs
@@ -11,7 +11,7 @@ use std::path::PathBuf;
 use std::str::FromStr;
 use std::sync::Arc;
 
-use devices::{Bus, ProxyDevice, Serial, SerialDevice};
+use devices::{Bus, JailedDevice, Serial, SerialDevice};
 use io_jail::Minijail;
 use sync::Mutex;
 use sys_util::{read_raw_stdin, syslog, EventFd};
@@ -276,7 +276,7 @@ pub fn add_serial_devices(
         match serial_jail.as_ref() {
             Some(jail) => {
                 let com = Arc::new(Mutex::new(
-                    ProxyDevice::new(com, &jail, preserved_fds)
+                    JailedDevice::new(com, &jail, preserved_fds)
                         .map_err(DeviceRegistrationError::ProxyDeviceCreation)?,
                 ));
                 io_bus