summary refs log tree commit diff
path: root/src/plugin/mod.rs
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor@chromium.org>2018-02-28 14:25:40 -0800
committerchrome-bot <chrome-bot@chromium.org>2018-03-06 20:19:27 -0800
commit5b6b192e34311924388715f1981e9ffca7c4b53c (patch)
treeb0d88fb51b3bca913f9d1c020ca1a31aab0ab7bf /src/plugin/mod.rs
parentbb7da42d1e4d7831b52d9e221f03ac2a06088f6c (diff)
downloadcrosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar.gz
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar.bz2
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar.lz
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar.xz
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.tar.zst
crosvm-5b6b192e34311924388715f1981e9ffca7c4b53c.zip
plugin: use positive error values for errno-based errors
Errno-based error codes are positive and turning them into negatives is
Linxu kernel internal convention. Let's not do this so we do not confuse
the signedness of errors coming from crosvm code and system libraries.

TEST=cargo test --features plugin
BUG=None

Change-Id: Ia89f0b78ad1d2bb30a2f427593f13ebfb548b2b0
Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/947562
Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'src/plugin/mod.rs')
-rw-r--r--src/plugin/mod.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/plugin/mod.rs b/src/plugin/mod.rs
index 4d164a4..853b7e5 100644
--- a/src/plugin/mod.rs
+++ b/src/plugin/mod.rs
@@ -175,19 +175,19 @@ fn new_seqpacket_pair() -> SysResult<(UnixDatagram, UnixDatagram)> {
 
 fn proto_to_sys_err(e: ProtobufError) -> SysError {
     match e {
-        ProtobufError::IoError(e) => SysError::new(-e.raw_os_error().unwrap_or(EINVAL)),
-        _ => SysError::new(-EINVAL),
+        ProtobufError::IoError(e) => SysError::new(e.raw_os_error().unwrap_or(EINVAL)),
+        _ => SysError::new(EINVAL),
     }
 }
 
 fn io_to_sys_err(e: io::Error) -> SysError {
-    SysError::new(-e.raw_os_error().unwrap_or(EINVAL))
+    SysError::new(e.raw_os_error().unwrap_or(EINVAL))
 }
 
 fn mmap_to_sys_err(e: MmapError) -> SysError {
     match e {
         MmapError::SystemCallFailed(e) => e,
-        _ => SysError::new(-EINVAL),
+        _ => SysError::new(EINVAL),
     }
 }
 
@@ -246,7 +246,7 @@ fn create_plugin_jail(root: &Path, seccomp_policy: &Path) -> Result<Minijail> {
 /// ```
 /// match objects.get(&request_id) {
 ///    Some(&PluginObject::Memory { slot, length }) => vm.get_dirty_log(slot, &mut dirty_log[..])
-///    _ => return Err(SysError::new(-ENOENT)),
+///    _ => return Err(SysError::new(ENOENT)),
 /// }
 /// ```
 enum PluginObject {
@@ -275,7 +275,7 @@ impl PluginObject {
                     2 => vm.unregister_ioevent(&evt, addr, datamatch as u16),
                     4 => vm.unregister_ioevent(&evt, addr, datamatch as u32),
                     8 => vm.unregister_ioevent(&evt, addr, datamatch as u64),
-                    _ => Err(SysError::new(-EINVAL)),
+                    _ => Err(SysError::new(EINVAL)),
                 }
             }
             PluginObject::Memory { slot, .. } => vm.remove_device_memory(slot).and(Ok(())),