summary refs log tree commit diff
path: root/src/device_manager.rs
diff options
context:
space:
mode:
authorZach Reizner <zachr@google.com>2017-09-04 16:12:54 -0700
committerchrome-bot <chrome-bot@chromium.org>2017-09-06 14:31:06 -0700
commitd0a1fde1c1859a7786c03c0209c83395e89d1184 (patch)
tree5c4ed0e2a95adc7c551957a9eedfce270bfa059b /src/device_manager.rs
parent35d4950c3f7c7fe87dc01397c0210e32b11cece0 (diff)
downloadcrosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar.gz
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar.bz2
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar.lz
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar.xz
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.tar.zst
crosvm-d0a1fde1c1859a7786c03c0209c83395e89d1184.zip
crosvm: jailed child processes inherit stderr
By inheriting stderr, logs from minijail and the logging macros can be
seen in the stderr of crosvm, which is convenient for debugging.

BUG=None
TEST=None

Change-Id: I6d6506776add780b243da50e635c25d27a8976ce
Reviewed-on: https://chromium-review.googlesource.com/649952
Commit-Ready: Zach Reizner <zachr@chromium.org>
Tested-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Jason Clinton <jclinton@chromium.org>
Diffstat (limited to 'src/device_manager.rs')
-rw-r--r--src/device_manager.rs3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/device_manager.rs b/src/device_manager.rs
index 742346a..6155cf8 100644
--- a/src/device_manager.rs
+++ b/src/device_manager.rs
@@ -9,6 +9,8 @@ use std::io;
 use std::os::unix::io::{AsRawFd, RawFd};
 use std::sync::{Arc, Mutex};
 
+use libc::STDERR_FILENO;
+
 use io_jail::Minijail;
 use kvm::IoeventAddress;
 use sys_util::GuestMemory;
@@ -91,6 +93,7 @@ impl DeviceManager {
 
         // List of FDs to keep open in the child after it forks.
         let mut keep_fds: Vec<RawFd> = device.keep_fds();
+        keep_fds.push(STDERR_FILENO);
 
         let mmio_device = hw::virtio::MmioDevice::new(self.guest_mem.clone(), device)
             .map_err(Error::CreateMmioDevice)?;