summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--devices/src/virtio/gpu/mod.rs9
-rw-r--r--seccomp/x86_64/gpu_device.policy1
2 files changed, 9 insertions, 1 deletions
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs
index 16a9bc3..8da15f5 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 a5a37ba..8e184fb 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