diff --git a/vmm/src/console_devices.rs b/vmm/src/console_devices.rs index cdadf1e95..b7dd91c3c 100644 --- a/vmm/src/console_devices.rs +++ b/vmm/src/console_devices.rs @@ -166,6 +166,16 @@ fn create_pty() -> io::Result<(File, File, PathBuf)> { Ok((main, unsafe { File::from_raw_fd(sub_fd) }, path)) } +fn dup_stdout() -> vmm_sys_util::errno::Result { + // SAFETY: FFI call to dup. Trivially safe. + let stdout = unsafe { libc::dup(libc::STDOUT_FILENO) }; + if stdout == -1 { + return vmm_sys_util::errno::errno_result(); + } + // SAFETY: stdout is valid and owned solely by us. + Ok(unsafe { File::from_raw_fd(stdout) }) +} + pub(crate) fn pre_create_console_devices(vmm: &mut Vmm) -> ConsoleDeviceResult { let vm_config = vmm.vm_config.as_mut().unwrap().clone(); let mut vmconfig = vm_config.lock().unwrap(); @@ -196,13 +206,7 @@ pub(crate) fn pre_create_console_devices(vmm: &mut Vmm) -> ConsoleDeviceResult ConsoleDeviceResult