diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs index 16a9bc30a7..8da15f5b1d 100644 --- a/devices/src/virtio/gpu/mod.rs +++ b/devices/src/virtio/gpu/mod.rs @@ -23,7 +23,7 @@ use std::time::Duration; use data_model::*; -use sys_util::{EventFd, GuestAddress, GuestMemory, PollContext, PollToken}; +use sys_util::{Error, EventFd, GuestAddress, GuestMemory, PollContext, PollToken}; use self::gpu_buffer::Device; use self::gpu_display::*; @@ -772,6 +772,13 @@ impl VirtioDevice for Gpu { } }; + if cfg!(debug_assertions) { + let ret = unsafe { libc::dup2(libc::STDOUT_FILENO, libc::STDERR_FILENO) }; + if ret == -1 { + warn!("unable to dup2 stdout to stderr: {}", Error::last()); + } + } + let renderer = match Renderer::init() { Ok(r) => r, Err(e) => { diff --git a/seccomp/x86_64/gpu_device.policy b/seccomp/x86_64/gpu_device.policy index a5a37ba703..8e184fbb5a 100644 --- a/seccomp/x86_64/gpu_device.policy +++ b/seccomp/x86_64/gpu_device.policy @@ -59,3 +59,4 @@ fcntl: arg1 == F_DUPFD_CLOEXEC lstat: 1 # Allow PR_SET_NAME only. prctl: arg0 == 15 +dup2: 1