summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--bit_field/bit_field_derive/bit_field_derive.rs6
-rw-r--r--devices/src/i8042.rs2
-rw-r--r--devices/src/ioapic.rs1
-rw-r--r--devices/src/pci/ac97.rs2
-rw-r--r--devices/src/pci/ac97_bus_master.rs4
-rw-r--r--devices/src/pci/pci_configuration.rs1
-rw-r--r--devices/src/pic.rs1
-rw-r--r--devices/src/pit.rs2
-rw-r--r--devices/src/pl030.rs2
-rw-r--r--devices/src/proxy.rs2
-rw-r--r--devices/src/register_space/register.rs1
-rw-r--r--devices/src/serial.rs2
-rw-r--r--devices/src/usb/host_backend/context.rs2
-rw-r--r--devices/src/usb/host_backend/host_backend_device_provider.rs2
-rw-r--r--devices/src/usb/host_backend/host_device.rs1
-rw-r--r--devices/src/usb/host_backend/hotplug.rs1
-rw-r--r--devices/src/usb/host_backend/usb_endpoint.rs1
-rw-r--r--devices/src/usb/host_backend/utils.rs1
-rw-r--r--devices/src/usb/log.rs2
-rw-r--r--devices/src/usb/xhci/command_ring_controller.rs2
-rw-r--r--devices/src/usb/xhci/device_slot.rs2
-rw-r--r--devices/src/usb/xhci/intr_resample_handler.rs2
-rw-r--r--devices/src/usb/xhci/ring_buffer_controller.rs2
-rw-r--r--devices/src/usb/xhci/ring_buffer_stop_cb.rs1
-rw-r--r--devices/src/usb/xhci/transfer_ring_controller.rs2
-rw-r--r--devices/src/usb/xhci/xhci.rs2
-rw-r--r--devices/src/usb/xhci/xhci_controller.rs2
-rw-r--r--devices/src/usb/xhci/xhci_transfer.rs2
-rw-r--r--devices/src/utils/async_job_queue.rs2
-rw-r--r--devices/src/utils/event_loop.rs2
-rw-r--r--devices/src/virtio/balloon.rs3
-rw-r--r--devices/src/virtio/block.rs4
-rw-r--r--devices/src/virtio/gpu/backend.rs2
-rw-r--r--devices/src/virtio/gpu/mod.rs4
-rw-r--r--devices/src/virtio/input/evdev.rs2
-rw-r--r--devices/src/virtio/input/event_source.rs1
-rw-r--r--devices/src/virtio/input/mod.rs2
-rw-r--r--devices/src/virtio/net.rs2
-rw-r--r--devices/src/virtio/p9.rs4
-rw-r--r--devices/src/virtio/queue.rs2
-rw-r--r--devices/src/virtio/rng.rs2
-rw-r--r--devices/src/virtio/tpm.rs2
-rw-r--r--devices/src/virtio/vhost/net.rs2
-rw-r--r--devices/src/virtio/vhost/vsock.rs2
-rw-r--r--devices/src/virtio/virtio_pci_common_config.rs2
-rw-r--r--devices/src/virtio/wl.rs4
-rw-r--r--enumn/src/lib.rs12
-rw-r--r--gpu_buffer/src/rendernode.rs2
-rw-r--r--kvm/src/lib.rs6
-rw-r--r--kvm_sys/src/lib.rs4
-rw-r--r--msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs3
-rw-r--r--msg_socket/src/lib.rs2
-rw-r--r--net_sys/src/lib.rs2
-rw-r--r--p9/src/protocol/messages.rs2
-rw-r--r--p9/src/protocol/wire_format.rs1
-rw-r--r--p9/wire_format_derive/wire_format_derive.rs4
-rw-r--r--qcow/src/qcow.rs2
-rw-r--r--src/linux.rs8
-rw-r--r--src/main.rs3
-rw-r--r--src/panic_hook.rs1
-rw-r--r--src/plugin/mod.rs7
-rw-r--r--src/plugin/process.rs2
-rw-r--r--src/plugin/vcpu.rs1
-rw-r--r--sys_util/src/poll.rs1
-rw-r--r--virtio_sys/src/lib.rs2
-rw-r--r--vm_control/src/lib.rs3
66 files changed, 104 insertions, 61 deletions
diff --git a/bit_field/bit_field_derive/bit_field_derive.rs b/bit_field/bit_field_derive/bit_field_derive.rs
index 0bd0daf..e7d26cd 100644
--- a/bit_field/bit_field_derive/bit_field_derive.rs
+++ b/bit_field/bit_field_derive/bit_field_derive.rs
@@ -13,10 +13,11 @@ extern crate quote;
 extern crate syn;
 
 use proc_macro2::{Span, TokenStream};
+use quote::{quote, quote_spanned};
 use syn::parse::{Error, Result};
 use syn::{
-    Attribute, Data, DataEnum, DeriveInput, Fields, FieldsNamed, FieldsUnnamed, Ident, Lit, LitInt,
-    Meta, Type, Visibility,
+    parse_macro_input, Attribute, Data, DataEnum, DeriveInput, Fields, FieldsNamed, FieldsUnnamed,
+    Ident, Lit, LitInt, Meta, Type, Visibility,
 };
 
 /// The function that derives the actual implementation.
@@ -654,6 +655,7 @@ pub fn define_bit_field_specifiers(_input: proc_macro::TokenStream) -> proc_macr
 #[cfg(test)]
 mod tests {
     use super::*;
+    use syn::parse_quote;
 
     #[test]
     fn end_to_end() {
diff --git a/devices/src/i8042.rs b/devices/src/i8042.rs
index 7feae8c..1f8a837 100644
--- a/devices/src/i8042.rs
+++ b/devices/src/i8042.rs
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-use sys_util::EventFd;
+use sys_util::{error, EventFd};
 
 use crate::BusDevice;
 
diff --git a/devices/src/ioapic.rs b/devices/src/ioapic.rs
index 61829b6..d8b3808 100644
--- a/devices/src/ioapic.rs
+++ b/devices/src/ioapic.rs
@@ -8,6 +8,7 @@
 use crate::split_irqchip_common::*;
 use crate::BusDevice;
 use bit_field::*;
+use sys_util::warn;
 
 #[bitfield]
 #[derive(Clone, Copy, PartialEq)]
diff --git a/devices/src/pci/ac97.rs b/devices/src/pci/ac97.rs
index 13cb47c..4bbe090 100644
--- a/devices/src/pci/ac97.rs
+++ b/devices/src/pci/ac97.rs
@@ -6,7 +6,7 @@ use std::os::unix::io::RawFd;
 
 use audio_streams::StreamSource;
 use resources::SystemAllocator;
-use sys_util::{EventFd, GuestMemory};
+use sys_util::{error, EventFd, GuestMemory};
 
 use crate::pci::ac97_bus_master::Ac97BusMaster;
 use crate::pci::ac97_mixer::Ac97Mixer;
diff --git a/devices/src/pci/ac97_bus_master.rs b/devices/src/pci/ac97_bus_master.rs
index d4b6f73..b1245b9 100644
--- a/devices/src/pci/ac97_bus_master.rs
+++ b/devices/src/pci/ac97_bus_master.rs
@@ -15,7 +15,9 @@ use std::time::Instant;
 use audio_streams::{PlaybackBuffer, PlaybackBufferStream, StreamControl, StreamSource};
 use data_model::{VolatileMemory, VolatileSlice};
 use sync::Mutex;
-use sys_util::{self, set_rt_prio_limit, set_rt_round_robin, EventFd, GuestAddress, GuestMemory};
+use sys_util::{
+    self, error, set_rt_prio_limit, set_rt_round_robin, warn, EventFd, GuestAddress, GuestMemory,
+};
 
 use crate::pci::ac97_mixer::Ac97Mixer;
 use crate::pci::ac97_regs::*;
diff --git a/devices/src/pci/pci_configuration.rs b/devices/src/pci/pci_configuration.rs
index f04284a..1cfa6bb 100644
--- a/devices/src/pci/pci_configuration.rs
+++ b/devices/src/pci/pci_configuration.rs
@@ -5,6 +5,7 @@
 use std::fmt::{self, Display};
 
 use crate::pci::PciInterruptPin;
+use sys_util::warn;
 
 // The number of 32bit registers in the config space, 256 bytes.
 const NUM_CONFIGURATION_REGISTERS: usize = 64;
diff --git a/devices/src/pic.rs b/devices/src/pic.rs
index a55a336..7fbd4af 100644
--- a/devices/src/pic.rs
+++ b/devices/src/pic.rs
@@ -13,6 +13,7 @@
 // emotional context, this file refers to them instead as "primary" and "secondary" PITs.
 
 use crate::BusDevice;
+use sys_util::{debug, warn};
 
 #[repr(usize)]
 #[derive(Debug, Clone, Copy, PartialEq)]
diff --git a/devices/src/pit.rs b/devices/src/pit.rs
index 2012b91..0bcf0a6 100644
--- a/devices/src/pit.rs
+++ b/devices/src/pit.rs
@@ -13,7 +13,7 @@ use std::time::Duration;
 use bit_field::BitField1;
 use bit_field::*;
 use sync::Mutex;
-use sys_util::{Error as SysError, EventFd, Fd, PollContext, PollToken};
+use sys_util::{error, warn, Error as SysError, EventFd, Fd, PollContext, PollToken};
 
 #[cfg(not(test))]
 use sys_util::Clock;
diff --git a/devices/src/pl030.rs b/devices/src/pl030.rs
index 35fbba4..b5338ac 100644
--- a/devices/src/pl030.rs
+++ b/devices/src/pl030.rs
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 use std::time::{SystemTime, UNIX_EPOCH};
-use sys_util::EventFd;
+use sys_util::{warn, EventFd};
 
 use crate::BusDevice;
 
diff --git a/devices/src/proxy.rs b/devices/src/proxy.rs
index 9880f14..dc64212 100644
--- a/devices/src/proxy.rs
+++ b/devices/src/proxy.rs
@@ -13,7 +13,7 @@ use std::{self, io};
 use io_jail::{self, Minijail};
 use libc::pid_t;
 use msg_socket::{MsgOnSocket, MsgReceiver, MsgSender, MsgSocket};
-use sys_util::net::UnixSeqpacket;
+use sys_util::{error, net::UnixSeqpacket};
 
 use crate::BusDevice;
 
diff --git a/devices/src/register_space/register.rs b/devices/src/register_space/register.rs
index 4325344..f7d416e 100644
--- a/devices/src/register_space/register.rs
+++ b/devices/src/register_space/register.rs
@@ -10,6 +10,7 @@ use std::sync::{Arc, MutexGuard};
 use sync::Mutex;
 
 use data_model::DataInit;
+use sys_util::error;
 
 /// Type of offset in the register space.
 pub type RegisterOffset = u64;
diff --git a/devices/src/serial.rs b/devices/src/serial.rs
index 078c91b..7cb7611 100644
--- a/devices/src/serial.rs
+++ b/devices/src/serial.rs
@@ -5,7 +5,7 @@
 use std::collections::VecDeque;
 use std::io;
 
-use sys_util::{EventFd, Result};
+use sys_util::{error, EventFd, Result};
 
 use crate::BusDevice;
 
diff --git a/devices/src/usb/host_backend/context.rs b/devices/src/usb/host_backend/context.rs
index 4acd752..bf4a13d 100644
--- a/devices/src/usb/host_backend/context.rs
+++ b/devices/src/usb/host_backend/context.rs
@@ -7,7 +7,7 @@ use crate::utils::{EventHandler, EventLoop};
 use std::os::raw::c_short;
 use std::os::unix::io::RawFd;
 use std::sync::{Arc, Weak};
-use sys_util::WatchingEvents;
+use sys_util::{error, WatchingEvents};
 use usb_util::hotplug::UsbHotplugHandler;
 use usb_util::libusb_context::{LibUsbContext, LibUsbPollfdChangeHandler};
 use usb_util::libusb_device::LibUsbDevice;
diff --git a/devices/src/usb/host_backend/host_backend_device_provider.rs b/devices/src/usb/host_backend/host_backend_device_provider.rs
index de80521..8aca33e 100644
--- a/devices/src/usb/host_backend/host_backend_device_provider.rs
+++ b/devices/src/usb/host_backend/host_backend_device_provider.rs
@@ -17,7 +17,7 @@ use std::mem;
 use std::os::unix::io::{AsRawFd, RawFd};
 use std::time::Duration;
 use sys_util::net::UnixSeqpacket;
-use sys_util::WatchingEvents;
+use sys_util::{error, WatchingEvents};
 use vm_control::{UsbControlCommand, UsbControlResult, UsbControlSocket};
 
 const SOCKET_TIMEOUT_MS: u64 = 2000;
diff --git a/devices/src/usb/host_backend/host_device.rs b/devices/src/usb/host_backend/host_device.rs
index 00cd876..235edbf 100644
--- a/devices/src/usb/host_backend/host_device.rs
+++ b/devices/src/usb/host_backend/host_device.rs
@@ -15,6 +15,7 @@ use crate::usb::xhci::xhci_transfer::{XhciTransfer, XhciTransferState, XhciTrans
 use crate::utils::AsyncJobQueue;
 use crate::utils::FailHandle;
 use std::collections::HashMap;
+use sys_util::{error, warn};
 use usb_util::device_handle::DeviceHandle;
 use usb_util::error::Error as LibUsbError;
 use usb_util::libusb_device::LibUsbDevice;
diff --git a/devices/src/usb/host_backend/hotplug.rs b/devices/src/usb/host_backend/hotplug.rs
index ab1c66d..673acce 100644
--- a/devices/src/usb/host_backend/hotplug.rs
+++ b/devices/src/usb/host_backend/hotplug.rs
@@ -5,6 +5,7 @@
 use std::sync::Arc;
 
 use crate::usb::xhci::usb_hub::UsbHub;
+use sys_util::error;
 use usb_util::hotplug::{HotplugEvent, UsbHotplugHandler};
 use usb_util::libusb_device::LibUsbDevice;
 
diff --git a/devices/src/usb/host_backend/usb_endpoint.rs b/devices/src/usb/host_backend/usb_endpoint.rs
index f562110..329d6ff 100644
--- a/devices/src/usb/host_backend/usb_endpoint.rs
+++ b/devices/src/usb/host_backend/usb_endpoint.rs
@@ -14,6 +14,7 @@ use crate::usb::xhci::xhci_transfer::{
 };
 use crate::utils::AsyncJobQueue;
 use crate::utils::FailHandle;
+use sys_util::error;
 use usb_util::device_handle::DeviceHandle;
 use usb_util::types::{EndpointDirection, EndpointType, ENDPOINT_DIRECTION_OFFSET};
 use usb_util::usb_transfer::{
diff --git a/devices/src/usb/host_backend/utils.rs b/devices/src/usb/host_backend/utils.rs
index d88a1a5..6ae0388 100644
--- a/devices/src/usb/host_backend/utils.rs
+++ b/devices/src/usb/host_backend/utils.rs
@@ -10,6 +10,7 @@ use super::error::*;
 use crate::usb::xhci::xhci_transfer::{XhciTransfer, XhciTransferState};
 use crate::utils::AsyncJobQueue;
 use crate::utils::FailHandle;
+use sys_util::{error, warn};
 use usb_util::device_handle::DeviceHandle;
 use usb_util::usb_transfer::{TransferStatus, UsbTransfer, UsbTransferBuffer};
 
diff --git a/devices/src/usb/log.rs b/devices/src/usb/log.rs
index b8fea64..4cb906b 100644
--- a/devices/src/usb/log.rs
+++ b/devices/src/usb/log.rs
@@ -8,7 +8,7 @@ macro_rules! usb_debug {
     ($($args:tt)+) => {
         // Set true to enable logging.
         if false {
-            debug!($($args)*);
+            sys_util::debug!($($args)*);
         }
     };
 }
diff --git a/devices/src/usb/xhci/command_ring_controller.rs b/devices/src/usb/xhci/command_ring_controller.rs
index ea34ca0..c8c059f 100644
--- a/devices/src/usb/xhci/command_ring_controller.rs
+++ b/devices/src/usb/xhci/command_ring_controller.rs
@@ -18,7 +18,7 @@ use crate::utils::EventLoop;
 use std::fmt::{self, Display};
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{Error as SysError, EventFd, GuestAddress, GuestMemory};
+use sys_util::{error, warn, Error as SysError, EventFd, GuestAddress, GuestMemory};
 
 #[derive(Debug)]
 pub enum Error {
diff --git a/devices/src/usb/xhci/device_slot.rs b/devices/src/usb/xhci/device_slot.rs
index b9bb1ac..129c849 100644
--- a/devices/src/usb/xhci/device_slot.rs
+++ b/devices/src/usb/xhci/device_slot.rs
@@ -19,7 +19,7 @@ use std::mem::size_of;
 use std::sync::atomic::{AtomicBool, Ordering};
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{GuestAddress, GuestMemory, GuestMemoryError};
+use sys_util::{error, GuestAddress, GuestMemory, GuestMemoryError};
 
 #[derive(Debug)]
 pub enum Error {
diff --git a/devices/src/usb/xhci/intr_resample_handler.rs b/devices/src/usb/xhci/intr_resample_handler.rs
index 1eb11a6..91dd46a 100644
--- a/devices/src/usb/xhci/intr_resample_handler.rs
+++ b/devices/src/usb/xhci/intr_resample_handler.rs
@@ -6,7 +6,7 @@ use super::interrupter::Interrupter;
 use crate::utils::{EventHandler, EventLoop};
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{EventFd, WatchingEvents};
+use sys_util::{error, EventFd, WatchingEvents};
 
 /// Interrupt Resample handler handles resample event. It will reassert interrupt if needed.
 pub struct IntrResampleHandler {
diff --git a/devices/src/usb/xhci/ring_buffer_controller.rs b/devices/src/usb/xhci/ring_buffer_controller.rs
index f375178..5084fab 100644
--- a/devices/src/usb/xhci/ring_buffer_controller.rs
+++ b/devices/src/usb/xhci/ring_buffer_controller.rs
@@ -9,7 +9,7 @@ use std::fmt::{self, Display};
 use std::sync::{Arc, MutexGuard};
 use sync::Mutex;
 
-use sys_util::{Error as SysError, EventFd, GuestAddress, GuestMemory, WatchingEvents};
+use sys_util::{error, Error as SysError, EventFd, GuestAddress, GuestMemory, WatchingEvents};
 
 use super::ring_buffer::RingBuffer;
 
diff --git a/devices/src/usb/xhci/ring_buffer_stop_cb.rs b/devices/src/usb/xhci/ring_buffer_stop_cb.rs
index b1cb6e8..3eca928 100644
--- a/devices/src/usb/xhci/ring_buffer_stop_cb.rs
+++ b/devices/src/usb/xhci/ring_buffer_stop_cb.rs
@@ -4,6 +4,7 @@
 
 use crate::utils::FailHandle;
 use std::sync::{Arc, Mutex};
+use sys_util::error;
 
 /// RingBufferStopCallback wraps a callback. The callback will be invoked when last instance of
 /// RingBufferStopCallback and its clones is dropped.
diff --git a/devices/src/usb/xhci/transfer_ring_controller.rs b/devices/src/usb/xhci/transfer_ring_controller.rs
index dec2108..5bf6024 100644
--- a/devices/src/usb/xhci/transfer_ring_controller.rs
+++ b/devices/src/usb/xhci/transfer_ring_controller.rs
@@ -8,7 +8,7 @@ use crate::usb::xhci::ring_buffer_controller::{
 use crate::utils::EventLoop;
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{EventFd, GuestMemory};
+use sys_util::{error, EventFd, GuestMemory};
 
 use super::interrupter::Interrupter;
 use super::usb_hub::UsbPort;
diff --git a/devices/src/usb/xhci/xhci.rs b/devices/src/usb/xhci/xhci.rs
index 0b66197..df57e68 100644
--- a/devices/src/usb/xhci/xhci.rs
+++ b/devices/src/usb/xhci/xhci.rs
@@ -15,7 +15,7 @@ use crate::utils::{Error as UtilsError, EventLoop, FailHandle};
 use std::fmt::{self, Display};
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{EventFd, GuestAddress, GuestMemory};
+use sys_util::{error, EventFd, GuestAddress, GuestMemory};
 
 #[derive(Debug)]
 pub enum Error {
diff --git a/devices/src/usb/xhci/xhci_controller.rs b/devices/src/usb/xhci/xhci_controller.rs
index 66834b8..3f2db74 100644
--- a/devices/src/usb/xhci/xhci_controller.rs
+++ b/devices/src/usb/xhci/xhci_controller.rs
@@ -17,7 +17,7 @@ use std::mem;
 use std::os::unix::io::RawFd;
 use std::sync::atomic::{AtomicBool, Ordering};
 use std::sync::Arc;
-use sys_util::{EventFd, GuestMemory};
+use sys_util::{error, EventFd, GuestMemory};
 
 const XHCI_BAR0_SIZE: u64 = 0x10000;
 
diff --git a/devices/src/usb/xhci/xhci_transfer.rs b/devices/src/usb/xhci/xhci_transfer.rs
index 421c5b1..2973aa7 100644
--- a/devices/src/usb/xhci/xhci_transfer.rs
+++ b/devices/src/usb/xhci/xhci_transfer.rs
@@ -15,7 +15,7 @@ use std::fmt::{self, Display};
 use std::mem;
 use std::sync::{Arc, Weak};
 use sync::Mutex;
-use sys_util::{Error as SysError, EventFd, GuestMemory};
+use sys_util::{error, Error as SysError, EventFd, GuestMemory};
 use usb_util::types::UsbRequestSetup;
 use usb_util::usb_transfer::TransferStatus;
 
diff --git a/devices/src/utils/async_job_queue.rs b/devices/src/utils/async_job_queue.rs
index 103d705..76ae8c7 100644
--- a/devices/src/utils/async_job_queue.rs
+++ b/devices/src/utils/async_job_queue.rs
@@ -7,7 +7,7 @@ use super::{EventHandler, EventLoop};
 use std::mem;
 use std::sync::Arc;
 use sync::Mutex;
-use sys_util::{EventFd, WatchingEvents};
+use sys_util::{error, EventFd, WatchingEvents};
 
 /// Async Job Queue can schedule async jobs.
 pub struct AsyncJobQueue {
diff --git a/devices/src/utils/event_loop.rs b/devices/src/utils/event_loop.rs
index 34aec61..d91aec9 100644
--- a/devices/src/utils/event_loop.rs
+++ b/devices/src/utils/event_loop.rs
@@ -9,7 +9,7 @@ use std::os::unix::io::{AsRawFd, RawFd};
 use std::sync::{Arc, Weak};
 use std::thread;
 use sync::Mutex;
-use sys_util::{EpollContext, EpollEvents, EventFd, PollToken, WatchingEvents};
+use sys_util::{error, warn, EpollContext, EpollEvents, EventFd, PollToken, WatchingEvents};
 
 /// A fail handle will do the clean up when we cannot recover from some error.
 pub trait FailHandle: Send + Sync {
diff --git a/devices/src/virtio/balloon.rs b/devices/src/virtio/balloon.rs
index e9f36f6..baff7ab 100644
--- a/devices/src/virtio/balloon.rs
+++ b/devices/src/virtio/balloon.rs
@@ -14,7 +14,8 @@ use std::thread;
 
 use byteorder::{ByteOrder, LittleEndian, ReadBytesExt, WriteBytesExt};
 use sys_util::{
-    self, net::UnixSeqpacket, EventFd, GuestAddress, GuestMemory, PollContext, PollToken,
+    self, error, info, net::UnixSeqpacket, warn, EventFd, GuestAddress, GuestMemory, PollContext,
+    PollToken,
 };
 
 use super::{
diff --git a/devices/src/virtio/block.rs b/devices/src/virtio/block.rs
index 023e1df..0a22e32 100644
--- a/devices/src/virtio/block.rs
+++ b/devices/src/virtio/block.rs
@@ -18,8 +18,8 @@ use sync::Mutex;
 use sys_util::Error as SysError;
 use sys_util::Result as SysResult;
 use sys_util::{
-    EventFd, FileSetLen, FileSync, GuestAddress, GuestMemory, GuestMemoryError, PollContext,
-    PollToken, PunchHole, TimerFd, WriteZeroes,
+    error, info, warn, EventFd, FileSetLen, FileSync, GuestAddress, GuestMemory, GuestMemoryError,
+    PollContext, PollToken, PunchHole, TimerFd, WriteZeroes,
 };
 
 use data_model::{DataInit, Le16, Le32, Le64};
diff --git a/devices/src/virtio/gpu/backend.rs b/devices/src/virtio/gpu/backend.rs
index b0289ae..93e3ce6 100644
--- a/devices/src/virtio/gpu/backend.rs
+++ b/devices/src/virtio/gpu/backend.rs
@@ -14,7 +14,7 @@ use std::usize;
 use data_model::*;
 
 use msg_socket::{MsgReceiver, MsgSender};
-use sys_util::{GuestAddress, GuestMemory};
+use sys_util::{error, GuestAddress, GuestMemory};
 
 use gpu_buffer::{Buffer, Device, Flags, Format};
 use gpu_display::*;
diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs
index 1cf6e6b..a91b5b9 100644
--- a/devices/src/virtio/gpu/mod.rs
+++ b/devices/src/virtio/gpu/mod.rs
@@ -23,7 +23,9 @@ use std::time::Duration;
 
 use data_model::*;
 
-use sys_util::{Error, EventFd, GuestAddress, GuestMemory, PollContext, PollToken};
+use sys_util::{
+    debug, error, warn, Error, EventFd, GuestAddress, GuestMemory, PollContext, PollToken,
+};
 
 use gpu_buffer::Device;
 use gpu_display::*;
diff --git a/devices/src/virtio/input/evdev.rs b/devices/src/virtio/input/evdev.rs
index 34fedb9..6301dfa 100644
--- a/devices/src/virtio/input/evdev.rs
+++ b/devices/src/virtio/input/evdev.rs
@@ -5,7 +5,7 @@
 use std::os::unix::io::AsRawFd;
 
 use data_model::Le32;
-use sys_util::{ioctl_with_mut_ref, ioctl_with_ptr, ioctl_with_ref};
+use sys_util::{ioctl_ior_nr, ioctl_iow_nr, ioctl_with_mut_ref, ioctl_with_ptr, ioctl_with_ref};
 
 use super::constants::*;
 use super::virtio_input_absinfo;
diff --git a/devices/src/virtio/input/event_source.rs b/devices/src/virtio/input/event_source.rs
index 48ed192..56bb54a 100644
--- a/devices/src/virtio/input/event_source.rs
+++ b/devices/src/virtio/input/event_source.rs
@@ -13,6 +13,7 @@ use std::io::Read;
 use std::io::Write;
 use std::mem::size_of;
 use std::os::unix::io::{AsRawFd, RawFd};
+use sys_util::{error, warn};
 
 #[derive(Copy, Clone, Debug, Default)]
 #[repr(C)]
diff --git a/devices/src/virtio/input/mod.rs b/devices/src/virtio/input/mod.rs
index 98dac60..b44ca86 100644
--- a/devices/src/virtio/input/mod.rs
+++ b/devices/src/virtio/input/mod.rs
@@ -13,7 +13,7 @@ use self::constants::*;
 use std::os::unix::io::{AsRawFd, RawFd};
 
 use data_model::{DataInit, Le16, Le32};
-use sys_util::{EventFd, GuestMemory, PollContext, PollToken};
+use sys_util::{error, warn, EventFd, GuestMemory, PollContext, PollToken};
 
 use self::event_source::{input_event, EvdevEventSource, EventSource, SocketEventSource};
 use super::{Queue, VirtioDevice, INTERRUPT_STATUS_USED_RING, TYPE_INPUT};
diff --git a/devices/src/virtio/net.rs b/devices/src/virtio/net.rs
index ab37cf0..a492561 100644
--- a/devices/src/virtio/net.rs
+++ b/devices/src/virtio/net.rs
@@ -15,7 +15,7 @@ use libc::EAGAIN;
 use net_sys;
 use net_util::{Error as TapError, MacAddress, TapT};
 use sys_util::Error as SysError;
-use sys_util::{EventFd, GuestMemory, PollContext, PollToken};
+use sys_util::{error, warn, EventFd, GuestMemory, PollContext, PollToken};
 use virtio_sys::virtio_net::virtio_net_hdr_v1;
 use virtio_sys::{vhost, virtio_net};
 
diff --git a/devices/src/virtio/p9.rs b/devices/src/virtio/p9.rs
index 636a1dc..6bfa41c 100644
--- a/devices/src/virtio/p9.rs
+++ b/devices/src/virtio/p9.rs
@@ -15,7 +15,9 @@ use std::sync::Arc;
 use std::thread;
 
 use p9;
-use sys_util::{Error as SysError, EventFd, GuestAddress, GuestMemory, PollContext, PollToken};
+use sys_util::{
+    error, warn, Error as SysError, EventFd, GuestAddress, GuestMemory, PollContext, PollToken,
+};
 use virtio_sys::vhost::VIRTIO_F_VERSION_1;
 
 use super::{DescriptorChain, Queue, VirtioDevice, INTERRUPT_STATUS_USED_RING, TYPE_9P};
diff --git a/devices/src/virtio/queue.rs b/devices/src/virtio/queue.rs
index 0f596ba..7d00b34 100644
--- a/devices/src/virtio/queue.rs
+++ b/devices/src/virtio/queue.rs
@@ -6,7 +6,7 @@ use std::cmp::min;
 use std::num::Wrapping;
 use std::sync::atomic::{fence, Ordering};
 
-use sys_util::{GuestAddress, GuestMemory};
+use sys_util::{error, GuestAddress, GuestMemory};
 
 const VIRTQ_DESC_F_NEXT: u16 = 0x1;
 const VIRTQ_DESC_F_WRITE: u16 = 0x2;
diff --git a/devices/src/virtio/rng.rs b/devices/src/virtio/rng.rs
index 7b3d9f7..b8e49f7 100644
--- a/devices/src/virtio/rng.rs
+++ b/devices/src/virtio/rng.rs
@@ -11,7 +11,7 @@ use std::sync::atomic::{AtomicUsize, Ordering};
 use std::sync::Arc;
 use std::thread;
 
-use sys_util::{EventFd, GuestMemory, PollContext, PollToken};
+use sys_util::{error, EventFd, GuestMemory, PollContext, PollToken};
 
 use super::{Queue, VirtioDevice, INTERRUPT_STATUS_USED_RING, TYPE_RNG};
 
diff --git a/devices/src/virtio/tpm.rs b/devices/src/virtio/tpm.rs
index 63e4d72..eea71c2 100644
--- a/devices/src/virtio/tpm.rs
+++ b/devices/src/virtio/tpm.rs
@@ -12,7 +12,7 @@ use std::sync::atomic::{AtomicUsize, Ordering};
 use std::sync::Arc;
 use std::thread;
 
-use sys_util::{EventFd, GuestMemory, GuestMemoryError, PollContext, PollToken};
+use sys_util::{error, EventFd, GuestMemory, GuestMemoryError, PollContext, PollToken};
 use tpm2;
 
 use super::{DescriptorChain, Queue, VirtioDevice, INTERRUPT_STATUS_USED_RING, TYPE_TPM};
diff --git a/devices/src/virtio/vhost/net.rs b/devices/src/virtio/vhost/net.rs
index 15907f2..d2e7e55 100644
--- a/devices/src/virtio/vhost/net.rs
+++ b/devices/src/virtio/vhost/net.rs
@@ -13,7 +13,7 @@ use net_sys;
 use net_util::{MacAddress, TapT};
 
 use ::vhost::NetT as VhostNetT;
-use sys_util::{EventFd, GuestMemory};
+use sys_util::{error, warn, EventFd, GuestMemory};
 use virtio_sys::{vhost, virtio_net};
 
 use super::worker::Worker;
diff --git a/devices/src/virtio/vhost/vsock.rs b/devices/src/virtio/vhost/vsock.rs
index 008d920..7f4c457 100644
--- a/devices/src/virtio/vhost/vsock.rs
+++ b/devices/src/virtio/vhost/vsock.rs
@@ -10,7 +10,7 @@ use std::thread;
 use byteorder::{ByteOrder, LittleEndian};
 
 use ::vhost::Vsock as VhostVsockHandle;
-use sys_util::{EventFd, GuestMemory};
+use sys_util::{error, warn, EventFd, GuestMemory};
 use virtio_sys::vhost;
 
 use super::worker::Worker;
diff --git a/devices/src/virtio/virtio_pci_common_config.rs b/devices/src/virtio/virtio_pci_common_config.rs
index 59b2b0a..2fef26e 100644
--- a/devices/src/virtio/virtio_pci_common_config.rs
+++ b/devices/src/virtio/virtio_pci_common_config.rs
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 use byteorder::{ByteOrder, LittleEndian};
-use sys_util::GuestAddress;
+use sys_util::{warn, GuestAddress};
 
 use super::*;
 
diff --git a/devices/src/virtio/wl.rs b/devices/src/virtio/wl.rs
index 4a6d59d..2352998 100644
--- a/devices/src/virtio/wl.rs
+++ b/devices/src/virtio/wl.rs
@@ -59,8 +59,10 @@ use data_model::*;
 use msg_socket::{MsgError, MsgReceiver, MsgSender};
 #[cfg(feature = "wl-dmabuf")]
 use resources::GpuMemoryDesc;
+#[cfg(feature = "wl-dmabuf")]
+use sys_util::ioctl_iow_nr;
 use sys_util::{
-    pipe, round_up_to_page_size, Error, EventFd, FileFlags, GuestAddress, GuestMemory,
+    error, pipe, round_up_to_page_size, warn, Error, EventFd, FileFlags, GuestAddress, GuestMemory,
     GuestMemoryError, PollContext, PollToken, Result, ScmSocket, SharedMemory,
 };
 
diff --git a/enumn/src/lib.rs b/enumn/src/lib.rs
index b928b11..417ba96 100644
--- a/enumn/src/lib.rs
+++ b/enumn/src/lib.rs
@@ -23,9 +23,9 @@
 //! # Example
 //!
 //! ```rust
-//! extern crate enumn;
+//! use enumn::N;
 //!
-//! #[derive(PartialEq, Debug, enumn::N)]
+//! #[derive(PartialEq, Debug, N)]
 //! enum Status {
 //!     LegendaryTriumph,
 //!     QualifiedSuccess,
@@ -52,7 +52,9 @@
 //! of that type.
 //!
 //! ```rust
-//! #[derive(enumn::N)]
+//! use enumn::N;
+//!
+//! #[derive(N)]
 //! #[repr(u8)]
 //! enum E {
 //!     /* ... */
@@ -88,7 +90,9 @@
 //! this enum:
 //!
 //! ```rust
-//! #[derive(enumn::N)]
+//! use enumn::N;
+//!
+//! #[derive(N)]
 //! enum Letter {
 //!     A = 65,
 //!     B = 66,
diff --git a/gpu_buffer/src/rendernode.rs b/gpu_buffer/src/rendernode.rs
index b9849e0..503d712 100644
--- a/gpu_buffer/src/rendernode.rs
+++ b/gpu_buffer/src/rendernode.rs
@@ -10,7 +10,7 @@ use std::os::raw::{c_char, c_int, c_uint};
 use std::path::Path;
 use std::ptr::null_mut;
 
-use sys_util::ioctl_with_mut_ref;
+use sys_util::{ioctl_iowr_nr, ioctl_with_mut_ref};
 
 // Consistent with __kernel_size_t in include/uapi/asm-generic/posix_types.h.
 #[cfg(not(target_pointer_width = "64"))]
diff --git a/kvm/src/lib.rs b/kvm/src/lib.rs
index cae377d..67a2f23 100644
--- a/kvm/src/lib.rs
+++ b/kvm/src/lib.rs
@@ -29,10 +29,8 @@ use msg_socket::MsgOnSocket;
 #[allow(unused_imports)]
 use sys_util::{
     ioctl, ioctl_with_mut_ptr, ioctl_with_mut_ref, ioctl_with_ptr, ioctl_with_ref, ioctl_with_val,
-};
-use sys_util::{
-    pagesize, signal, Error, EventFd, GuestAddress, GuestMemory, MemoryMapping, MemoryMappingArena,
-    Result,
+    pagesize, signal, warn, Error, EventFd, GuestAddress, GuestMemory, MemoryMapping,
+    MemoryMappingArena, Result,
 };
 
 pub use crate::cap::*;
diff --git a/kvm_sys/src/lib.rs b/kvm_sys/src/lib.rs
index efcc706..bea9242 100644
--- a/kvm_sys/src/lib.rs
+++ b/kvm_sys/src/lib.rs
@@ -9,6 +9,8 @@
 #[macro_use]
 extern crate sys_util;
 
+use sys_util::{ioctl_io_nr, ioctl_ior_nr, ioctl_iow_nr, ioctl_iowr_nr};
+
 // Somehow this one gets missed by bindgen
 pub const KVM_EXIT_IO_OUT: ::std::os::raw::c_uint = 1;
 
@@ -20,6 +22,7 @@ pub mod x86 {
     #[cfg_attr(feature = "cargo-clippy", allow(clippy))]
     pub mod bindings;
     pub use crate::bindings::*;
+    use sys_util::{ioctl_ior_nr, ioctl_iow_nr, ioctl_iowr_nr};
 
     ioctl_iow_nr!(KVM_SET_GSI_ROUTING, KVMIO, 0x6a, kvm_irq_routing);
     ioctl_iowr_nr!(KVM_GET_MSR_INDEX_LIST, KVMIO, 0x02, kvm_msr_list);
@@ -54,6 +57,7 @@ pub mod aarch64 {
     // generated with bindgen <arm sysroot>/usr/include/linux/kvm.h --no-unstable-rust --constified-enum '*' --with-derive-default -- -I<arm sysroot>/usr/include
     pub mod bindings;
     pub use bindings::*;
+    use sys_util::{ioctl_ior_nr, ioctl_iow_nr};
 
     ioctl_iow_nr!(KVM_ARM_SET_DEVICE_ADDR, KVMIO, 0xab, kvm_arm_device_addr);
     ioctl_iow_nr!(KVM_ARM_VCPU_INIT, KVMIO, 0xae, kvm_vcpu_init);
diff --git a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
index 724a29c..bb90255 100644
--- a/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
+++ b/msg_socket/msg_on_socket_derive/msg_on_socket_derive.rs
@@ -15,7 +15,8 @@ extern crate syn;
 use std::vec::Vec;
 
 use proc_macro2::{Span, TokenStream};
-use syn::{Data, DataEnum, DataStruct, DeriveInput, Fields, Ident};
+use quote::quote;
+use syn::{parse_macro_input, Data, DataEnum, DataStruct, DeriveInput, Fields, Ident};
 
 /// The function that derives the recursive implementation for struct or enum.
 #[proc_macro_derive(MsgOnSocket)]
diff --git a/msg_socket/src/lib.rs b/msg_socket/src/lib.rs
index a43e030..c3cc411 100644
--- a/msg_socket/src/lib.rs
+++ b/msg_socket/src/lib.rs
@@ -16,7 +16,7 @@ use std::marker::PhantomData;
 use std::ops::Deref;
 use std::os::unix::io::{AsRawFd, RawFd};
 
-use sys_util::{net::UnixSeqpacket, Error as SysError, ScmSocket};
+use sys_util::{handle_eintr, net::UnixSeqpacket, Error as SysError, ScmSocket};
 
 pub use crate::msg_on_socket::*;
 pub use msg_on_socket_derive::*;
diff --git a/net_sys/src/lib.rs b/net_sys/src/lib.rs
index b0b0d53..4be0a16 100644
--- a/net_sys/src/lib.rs
+++ b/net_sys/src/lib.rs
@@ -9,6 +9,8 @@
 #[macro_use]
 extern crate sys_util;
 
+use sys_util::{ioctl_ior_nr, ioctl_iow_nr};
+
 // generated with bindgen /usr/include/linux/if.h --no-unstable-rust
 // --constified-enum '*' --with-derive-default -- -D __UAPI_DEF_IF_IFNAMSIZ -D
 // __UAPI_DEF_IF_NET_DEVICE_FLAGS -D __UAPI_DEF_IF_IFREQ -D __UAPI_DEF_IF_IFMAP
diff --git a/p9/src/protocol/messages.rs b/p9/src/protocol/messages.rs
index b5a03c0..f149e3c 100644
--- a/p9/src/protocol/messages.rs
+++ b/p9/src/protocol/messages.rs
@@ -2,6 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+use wire_format_derive::P9WireFormat;
+
 use std::io::{self, ErrorKind, Read, Write};
 use std::mem;
 use std::string::String;
diff --git a/p9/src/protocol/wire_format.rs b/p9/src/protocol/wire_format.rs
index bd3d67b..84408e2 100644
--- a/p9/src/protocol/wire_format.rs
+++ b/p9/src/protocol/wire_format.rs
@@ -207,6 +207,7 @@ mod test {
     use std::io::Cursor;
     use std::mem;
     use std::string::String;
+    use wire_format_derive::P9WireFormat;
 
     #[test]
     fn integer_byte_size() {
diff --git a/p9/wire_format_derive/wire_format_derive.rs b/p9/wire_format_derive/wire_format_derive.rs
index 802b19b..38af595 100644
--- a/p9/wire_format_derive/wire_format_derive.rs
+++ b/p9/wire_format_derive/wire_format_derive.rs
@@ -18,8 +18,9 @@ extern crate quote;
 extern crate syn;
 
 use proc_macro2::{Span, TokenStream};
+use quote::{quote, quote_spanned};
 use syn::spanned::Spanned;
-use syn::{Data, DeriveInput, Fields, Ident};
+use syn::{parse_macro_input, Data, DeriveInput, Fields, Ident};
 
 /// The function that derives the actual implementation.
 #[proc_macro_derive(P9WireFormat)]
@@ -155,6 +156,7 @@ fn decode_wire_format(data: &Data, container: &Ident) -> TokenStream {
 #[cfg(test)]
 mod tests {
     use super::*;
+    use syn::parse_quote;
 
     #[test]
     fn byte_size() {
diff --git a/qcow/src/qcow.rs b/qcow/src/qcow.rs
index 8178212..9015bb1 100644
--- a/qcow/src/qcow.rs
+++ b/qcow/src/qcow.rs
@@ -15,7 +15,7 @@ mod vec_cache;
 use byteorder::{BigEndian, ReadBytesExt, WriteBytesExt};
 use libc::{EINVAL, ENOSPC, ENOTSUP};
 use remain::sorted;
-use sys_util::{FileSetLen, FileSync, PunchHole, SeekHole, WriteZeroes};
+use sys_util::{error, FileSetLen, FileSync, PunchHole, SeekHole, WriteZeroes};
 
 use std::cmp::min;
 use std::fmt::{self, Display};
diff --git a/src/linux.rs b/src/linux.rs
index 78e5740..730de9c 100644
--- a/src/linux.rs
+++ b/src/linux.rs
@@ -37,10 +37,10 @@ use remain::sorted;
 use sync::{Condvar, Mutex};
 use sys_util::net::{UnixSeqpacket, UnixSeqpacketListener, UnlinkUnixSeqpacketListener};
 use sys_util::{
-    self, block_signal, clear_signal, drop_capabilities, flock, get_blocked_signals, get_group_id,
-    get_user_id, getegid, geteuid, register_signal_handler, set_cpu_affinity, validate_raw_fd,
-    EventFd, FlockOperation, GuestMemory, Killable, PollContext, PollToken, SignalFd, Terminal,
-    TimerFd, SIGRTMIN,
+    self, block_signal, clear_signal, drop_capabilities, error, flock, get_blocked_signals,
+    get_group_id, get_user_id, getegid, geteuid, info, register_signal_handler, set_cpu_affinity,
+    validate_raw_fd, warn, EventFd, FlockOperation, GuestMemory, Killable, PollContext, PollToken,
+    SignalFd, Terminal, TimerFd, SIGRTMIN,
 };
 #[cfg(feature = "gpu-forward")]
 use sys_util::{GuestAddress, MemoryMapping, Protection};
diff --git a/src/main.rs b/src/main.rs
index c000ac8..b1d2cb2 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -57,7 +57,8 @@ use std::time::Duration;
 use msg_socket::{MsgReceiver, MsgSender, MsgSocket};
 use qcow::QcowFile;
 use sys_util::{
-    getpid, kill_process_group, net::UnixSeqpacket, reap_child, syslog, validate_raw_fd,
+    debug, error, getpid, info, kill_process_group, net::UnixSeqpacket, reap_child, syslog,
+    validate_raw_fd, warn,
 };
 use vm_control::{
     MaybeOwnedFd, UsbControlCommand, UsbControlResult, VmControlRequestSocket, VmRequest,
diff --git a/src/panic_hook.rs b/src/panic_hook.rs
index 7f93d91..48cf0c5 100644
--- a/src/panic_hook.rs
+++ b/src/panic_hook.rs
@@ -11,6 +11,7 @@ use std::process::abort;
 use std::string::String;
 
 use libc::{close, dup, dup2, pipe2, O_NONBLOCK, STDERR_FILENO};
+use sys_util::error;
 
 // Opens a pipe and puts the write end into the stderr FD slot. On success, returns the read end of
 // the pipe and the old stderr as a pair of files.
diff --git a/src/plugin/mod.rs b/src/plugin/mod.rs
index f37f2eb..60a50da 100644
--- a/src/plugin/mod.rs
+++ b/src/plugin/mod.rs
@@ -29,9 +29,10 @@ use io_jail::{self, Minijail};
 use kvm::{Datamatch, IoeventAddress, Kvm, Vcpu, VcpuExit, Vm};
 use net_util::{Error as TapError, Tap, TapT};
 use sys_util::{
-    block_signal, clear_signal, drop_capabilities, getegid, geteuid, register_signal_handler,
-    validate_raw_fd, Error as SysError, EventFd, GuestMemory, Killable, MmapError, PollContext,
-    PollToken, Result as SysResult, SignalFd, SignalFdError, SIGRTMIN,
+    block_signal, clear_signal, drop_capabilities, error, getegid, geteuid, info,
+    register_signal_handler, validate_raw_fd, warn, Error as SysError, EventFd, GuestMemory,
+    Killable, MmapError, PollContext, PollToken, Result as SysResult, SignalFd, SignalFdError,
+    SIGRTMIN,
 };
 
 use self::process::*;
diff --git a/src/plugin/process.rs b/src/plugin/process.rs
index b249cea..6b05bac 100644
--- a/src/plugin/process.rs
+++ b/src/plugin/process.rs
@@ -28,7 +28,7 @@ use kvm_sys::{kvm_clock_data, kvm_ioapic_state, kvm_pic_state, kvm_pit_state2};
 use protos::plugin::*;
 use sync::Mutex;
 use sys_util::{
-    Error as SysError, EventFd, GuestAddress, Killable, MemoryMapping, Result as SysResult,
+    error, Error as SysError, EventFd, GuestAddress, Killable, MemoryMapping, Result as SysResult,
     ScmSocket, SharedMemory, SIGRTMIN,
 };
 
diff --git a/src/plugin/vcpu.rs b/src/plugin/vcpu.rs
index 1e6b782..307e1a0 100644
--- a/src/plugin/vcpu.rs
+++ b/src/plugin/vcpu.rs
@@ -23,6 +23,7 @@ use kvm_sys::{
 };
 use protos::plugin::*;
 use sync::Mutex;
+use sys_util::error;
 
 use super::*;
 
diff --git a/sys_util/src/poll.rs b/sys_util/src/poll.rs
index 61af285..2f15198 100644
--- a/sys_util/src/poll.rs
+++ b/sys_util/src/poll.rs
@@ -624,6 +624,7 @@ impl<T: PollToken> IntoRawFd for PollContext<T> {
 mod tests {
     use super::*;
     use crate::EventFd;
+    use poll_token_derive::PollToken;
     use std::os::unix::net::UnixStream;
     use std::time::Instant;
 
diff --git a/virtio_sys/src/lib.rs b/virtio_sys/src/lib.rs
index 7984d80..eb74225 100644
--- a/virtio_sys/src/lib.rs
+++ b/virtio_sys/src/lib.rs
@@ -9,6 +9,8 @@
 #[macro_use]
 extern crate sys_util;
 
+use sys_util::{ioctl_io_nr, ioctl_ior_nr, ioctl_iow_nr, ioctl_iowr_nr};
+
 // generated with bindgen /usr/include/linux/vhost.h --no-unstable-rust --constified-enum '*' --with-derive-default
 pub mod vhost;
 // generated with bindgen /usr/include/linux/virtio_net.h --no-unstable-rust --constified-enum '*' --with-derive-default
diff --git a/vm_control/src/lib.rs b/vm_control/src/lib.rs
index 6573c9a..79d95ed 100644
--- a/vm_control/src/lib.rs
+++ b/vm_control/src/lib.rs
@@ -30,7 +30,8 @@ use kvm::{Datamatch, IoeventAddress, Vm};
 use msg_socket::{MsgOnSocket, MsgReceiver, MsgResult, MsgSender, MsgSocket};
 use resources::{GpuMemoryDesc, SystemAllocator};
 use sys_util::{
-    net::UnixSeqpacket, Error as SysError, EventFd, GuestAddress, MemoryMapping, MmapError, Result,
+    error, net::UnixSeqpacket, Error as SysError, EventFd, GuestAddress, MemoryMapping, MmapError,
+    Result,
 };
 
 /// A file descriptor either borrowed or owned by this.