summary refs log tree commit diff
path: root/kernel_loader
diff options
context:
space:
mode:
authorDavid Tolnay <dtolnay@chromium.org>2019-03-01 18:07:56 -0800
committerchrome-bot <chrome-bot@chromium.org>2019-03-02 17:41:31 -0800
commitc69f97542a6071f78d48a743ee94119a93bc9471 (patch)
tree69ee27de806bf460c108219d9d2c64bd633cf35d /kernel_loader
parent5e1b46cbd8cb031a12c0fb20e94670f1007fd789 (diff)
downloadcrosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar.gz
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar.bz2
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar.lz
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar.xz
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.tar.zst
crosvm-c69f97542a6071f78d48a743ee94119a93bc9471.zip
error: Consistently use Display instead of error description()
The description method is deprecated and its signature forces less
helpful error messages than what Display can provide.

BUG=none
TEST=cargo check --all-features
TEST=cargo check --target aarch64-unknown-linux-gnu

Change-Id: I27fc99d59d0ef457c5273dc53e4c563ef439c2c0
Reviewed-on: https://chromium-review.googlesource.com/1497735
Commit-Ready: David Tolnay <dtolnay@chromium.org>
Tested-by: David Tolnay <dtolnay@chromium.org>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Dylan Reid <dgreid@chromium.org>
Diffstat (limited to 'kernel_loader')
-rw-r--r--kernel_loader/src/lib.rs43
1 files changed, 20 insertions, 23 deletions
diff --git a/kernel_loader/src/lib.rs b/kernel_loader/src/lib.rs
index ecc5a34..15693a6 100644
--- a/kernel_loader/src/lib.rs
+++ b/kernel_loader/src/lib.rs
@@ -4,7 +4,6 @@
 
 extern crate sys_util;
 
-use std::error::{self, Error as KernelLoaderError};
 use std::ffi::CStr;
 use std::fmt::{self, Display};
 use std::io::{Read, Seek, SeekFrom};
@@ -37,31 +36,29 @@ pub enum Error {
 }
 pub type Result<T> = std::result::Result<T, Error>;
 
-impl error::Error for Error {
-    fn description(&self) -> &str {
-        match self {
-            Error::BigEndianElfOnLittle => {
-                "Trying to load big-endian binary on little-endian machine"
-            }
-            Error::CommandLineCopy => "Failed writing command line to guest memory",
-            Error::CommandLineOverflow => "Command line overflowed guest memory",
-            Error::InvalidElfMagicNumber => "Invalid Elf magic number",
-            Error::InvalidProgramHeaderSize => "Invalid program header size",
-            Error::InvalidProgramHeaderOffset => "Invalid program header offset",
-            Error::InvalidProgramHeaderAddress => "Invalid Program Header Address",
-            Error::ReadElfHeader => "Unable to read elf header",
-            Error::ReadKernelImage => "Unable to read kernel image",
-            Error::ReadProgramHeader => "Unable to read program header",
-            Error::SeekKernelStart => "Unable to seek to kernel start",
-            Error::SeekElfStart => "Unable to seek to elf start",
-            Error::SeekProgramHeader => "Unable to seek to program header",
-        }
-    }
-}
+impl std::error::Error for Error {}
 
 impl Display for Error {
     fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
-        write!(f, "Kernel Loader Error: {}", Error::description(self))
+        use self::Error::*;
+
+        let description = match self {
+            BigEndianElfOnLittle => "trying to load big-endian binary on little-endian machine",
+            CommandLineCopy => "failed writing command line to guest memory",
+            CommandLineOverflow => "command line overflowed guest memory",
+            InvalidElfMagicNumber => "invalid Elf magic number",
+            InvalidProgramHeaderSize => "invalid program header size",
+            InvalidProgramHeaderOffset => "invalid program header offset",
+            InvalidProgramHeaderAddress => "invalid Program Header Address",
+            ReadElfHeader => "unable to read elf header",
+            ReadKernelImage => "unable to read kernel image",
+            ReadProgramHeader => "unable to read program header",
+            SeekKernelStart => "unable to seek to kernel start",
+            SeekElfStart => "unable to seek to elf start",
+            SeekProgramHeader => "unable to seek to program header",
+        };
+
+        write!(f, "kernel loader: {}", description)
     }
 }