summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeiichi Watanabe <keiichiw@chromium.org>2021-02-24 21:21:32 +0900
committerJiang Liu <gerry@linux.alibaba.com>2021-03-03 19:33:56 +0800
commit62fd4ec5a47d1b9cd1ea2c8702228ea216b92686 (patch)
treeef9bb7f8b3371f8792c76058d5856cac8bc1cd31
parent576694bcfb09e7c78d812ed07dbc5377d283852a (diff)
downloadvmm_vhost-62fd4ec5a47d1b9cd1ea2c8702228ea216b92686.tar.gz
Fix clippy erros and warnings
Make `cargo clippy --all-features --all-targets` pass. Signed-off-by: Keiichi Watanabe <keiichiw@chromium.org>
-rw-r--r--src/vhost_kern/mod.rs16
-rw-r--r--src/vhost_kern/vhost_binding.rs1
-rw-r--r--src/vhost_kern/vsock.rs1
-rw-r--r--src/vhost_user/dummy_slave.rs10
-rw-r--r--src/vhost_user/master.rs7
-rw-r--r--src/vhost_user/master_req_handler.rs3
-rw-r--r--src/vhost_user/message.rs2
-rw-r--r--src/vhost_user/mod.rs2
-rw-r--r--src/vhost_user/slave_fs_cache.rs2
-rw-r--r--src/vhost_user/slave_req_handler.rs5
10 files changed, 22 insertions, 27 deletions
diff --git a/src/vhost_kern/mod.rs b/src/vhost_kern/mod.rs
index f263a39..f82cbfc 100644
--- a/src/vhost_kern/mod.rs
+++ b/src/vhost_kern/mod.rs
@@ -63,20 +63,22 @@ pub trait VhostKernBackend: AsRawFd {
.checked_add(desc_table_size)
.map_or(true, |v| !m.address_in_range(v))
{
- false
- } else if GuestAddress(config_data.avail_ring_addr)
+ return false;
+ }
+ if GuestAddress(config_data.avail_ring_addr)
.checked_add(avail_ring_size)
.map_or(true, |v| !m.address_in_range(v))
{
- false
- } else if GuestAddress(config_data.used_ring_addr)
+ return false;
+ }
+ if GuestAddress(config_data.used_ring_addr)
.checked_add(used_ring_size)
.map_or(true, |v| !m.address_in_range(v))
{
- false
- } else {
- config_data.is_log_addr_valid()
+ return false;
}
+
+ config_data.is_log_addr_valid()
}
}
diff --git a/src/vhost_kern/vhost_binding.rs b/src/vhost_kern/vhost_binding.rs
index fdc5225..57ae698 100644
--- a/src/vhost_kern/vhost_binding.rs
+++ b/src/vhost_kern/vhost_binding.rs
@@ -13,6 +13,7 @@
#![allow(non_camel_case_types)]
#![allow(non_snake_case)]
#![allow(missing_docs)]
+#![allow(clippy::missing_safety_doc)]
use crate::{Error, Result};
use std::os::raw;
diff --git a/src/vhost_kern/vsock.rs b/src/vhost_kern/vsock.rs
index 7cc1cf5..65f89e4 100644
--- a/src/vhost_kern/vsock.rs
+++ b/src/vhost_kern/vsock.rs
@@ -11,7 +11,6 @@ use std::fs::{File, OpenOptions};
use std::os::unix::fs::OpenOptionsExt;
use std::os::unix::io::{AsRawFd, RawFd};
-use libc;
use vm_memory::GuestAddressSpace;
use vmm_sys_util::ioctl::ioctl_with_ref;
diff --git a/src/vhost_user/dummy_slave.rs b/src/vhost_user/dummy_slave.rs
index 99f08e7..9eedcbb 100644
--- a/src/vhost_user/dummy_slave.rs
+++ b/src/vhost_user/dummy_slave.rs
@@ -57,9 +57,7 @@ impl VhostUserSlaveReqHandlerMut for DummySlaveReqHandler {
}
fn set_features(&mut self, features: u64) -> Result<()> {
- if !self.owned {
- return Err(Error::InvalidOperation);
- } else if self.features_acked {
+ if !self.owned || self.features_acked {
return Err(Error::InvalidOperation);
} else if (features & !VIRTIO_FEATURES) != 0 {
return Err(Error::InvalidParam);
@@ -224,8 +222,7 @@ impl VhostUserSlaveReqHandlerMut for DummySlaveReqHandler {
) -> Result<Vec<u8>> {
if self.acked_protocol_features & VhostUserProtocolFeatures::CONFIG.bits() == 0 {
return Err(Error::InvalidOperation);
- } else if offset < VHOST_USER_CONFIG_OFFSET
- || offset >= VHOST_USER_CONFIG_SIZE
+ } else if !(VHOST_USER_CONFIG_OFFSET..VHOST_USER_CONFIG_SIZE).contains(&offset)
|| size > VHOST_USER_CONFIG_SIZE - VHOST_USER_CONFIG_OFFSET
|| size + offset > VHOST_USER_CONFIG_SIZE
{
@@ -238,8 +235,7 @@ impl VhostUserSlaveReqHandlerMut for DummySlaveReqHandler {
let size = buf.len() as u32;
if self.acked_protocol_features & VhostUserProtocolFeatures::CONFIG.bits() == 0 {
return Err(Error::InvalidOperation);
- } else if offset < VHOST_USER_CONFIG_OFFSET
- || offset >= VHOST_USER_CONFIG_SIZE
+ } else if !(VHOST_USER_CONFIG_OFFSET..VHOST_USER_CONFIG_SIZE).contains(&offset)
|| size > VHOST_USER_CONFIG_SIZE - VHOST_USER_CONFIG_OFFSET
|| size + offset > VHOST_USER_CONFIG_SIZE
{
diff --git a/src/vhost_user/master.rs b/src/vhost_user/master.rs
index be2892e..35ca471 100644
--- a/src/vhost_user/master.rs
+++ b/src/vhost_user/master.rs
@@ -395,9 +395,10 @@ impl VhostUserMaster for Master {
return error_code(VhostUserError::InvalidMessage);
} else if body_reply.size == 0 {
return error_code(VhostUserError::SlaveInternalError);
- } else if body_reply.size != body.size || body_reply.size as usize != buf.len() {
- return error_code(VhostUserError::InvalidMessage);
- } else if body_reply.offset != body.offset {
+ } else if body_reply.size != body.size
+ || body_reply.size as usize != buf.len()
+ || body_reply.offset != body.offset
+ {
return error_code(VhostUserError::InvalidMessage);
}
diff --git a/src/vhost_user/master_req_handler.rs b/src/vhost_user/master_req_handler.rs
index fb33f15..8cba188 100644
--- a/src/vhost_user/master_req_handler.rs
+++ b/src/vhost_user/master_req_handler.rs
@@ -1,7 +1,6 @@
// Copyright (C) 2019-2021 Alibaba Cloud. All rights reserved.
// SPDX-License-Identifier: Apache-2.0
-use libc;
use std::mem;
use std::os::unix::io::{AsRawFd, RawFd};
use std::os::unix::net::UnixStream;
@@ -310,7 +309,7 @@ impl<S: VhostUserMasterReqHandler> MasterReqHandler<S> {
_ => {
if rfds.is_some() {
Endpoint::<SlaveReq>::close_rfds(rfds);
- return Err(Error::InvalidMessage);
+ Err(Error::InvalidMessage)
} else {
Ok(rfds)
}
diff --git a/src/vhost_user/message.rs b/src/vhost_user/message.rs
index 0f6e1a2..8600410 100644
--- a/src/vhost_user/message.rs
+++ b/src/vhost_user/message.rs
@@ -809,7 +809,7 @@ mod tests {
msg.guest_phys_addr = 0xFFFFFFFFFFFF0000;
msg.memory_size = 0;
assert!(!msg.is_valid());
- let a = msg.clone().guest_phys_addr;
+ let a = msg.guest_phys_addr;
let b = msg.guest_phys_addr;
assert_eq!(a, b);
diff --git a/src/vhost_user/mod.rs b/src/vhost_user/mod.rs
index bc21b44..6a5b6a1 100644
--- a/src/vhost_user/mod.rs
+++ b/src/vhost_user/mod.rs
@@ -417,7 +417,7 @@ mod tests {
#[test]
fn test_error_from_sys_util_error() {
- let e: Error = vmm_sys_util::errno::Error::new(libc::EAGAIN.into()).into();
+ let e: Error = vmm_sys_util::errno::Error::new(libc::EAGAIN).into();
if let Error::SocketRetry(e1) = e {
assert_eq!(e1.raw_os_error().unwrap(), libc::EAGAIN);
} else {
diff --git a/src/vhost_user/slave_fs_cache.rs b/src/vhost_user/slave_fs_cache.rs
index 1e2ef61..a9c4ed2 100644
--- a/src/vhost_user/slave_fs_cache.rs
+++ b/src/vhost_user/slave_fs_cache.rs
@@ -104,7 +104,7 @@ impl SlaveFsCacheReq {
) -> io::Result<u64> {
self.node()
.send_message(request, fs, fds)
- .or_else(|e| Err(io::Error::new(io::ErrorKind::Other, format!("{}", e))))
+ .map_err(|e| io::Error::new(io::ErrorKind::Other, format!("{}", e)))
}
/// Create a new instance from a `UnixStream` object.
diff --git a/src/vhost_user/slave_req_handler.rs b/src/vhost_user/slave_req_handler.rs
index ff07304..3b44e4c 100644
--- a/src/vhost_user/slave_req_handler.rs
+++ b/src/vhost_user/slave_req_handler.rs
@@ -579,10 +579,7 @@ impl<S: VhostUserSlaveReqHandler> SlaveReqHandler<S> {
// invalid FD flag. This flag is set when there is no file descriptor
// in the ancillary data. This signals that polling will be used
// instead of waiting for the call.
- let nofd = match msg.value & 0x100u64 {
- 0x100u64 => true,
- _ => false,
- };
+ let nofd = (msg.value & 0x100u64) == 0x100u64;
let mut rfd = None;
match rfds {