The currently selected version of bindgen has a unmaintained dependency and generates the following build warning while building vhost-device crate: Crate: ansi_term Version: 0.12.1 Warning: unmaintained Title: ansi_term is Unmaintained Date: 2021-08-18 ID: RUSTSEC-2021-0139 URL: https://rustsec.org/advisories/RUSTSEC-2021-0139 Dependency tree: ansi_term 0.12.1 └── clap 2.34.0 └── bindgen 0.59.2 └── libgpiod-sys 0.1.0 └── libgpiod 0.1.0 └── vhost-device-gpio 0.1.0 error: 1 denied warning found! Fix it by moving to a later version of bindgen, which updates the types of few of the arguments to the FFI helpers and so required changes to few of explicit type conversions. Signed-off-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> --- bindings/rust/gpiosim-sys/Cargo.toml | 2 +- bindings/rust/libgpiod-sys/Cargo.toml | 2 +- bindings/rust/libgpiod/src/event_buffer.rs | 3 +-- bindings/rust/libgpiod/src/line_config.rs | 6 ++---- bindings/rust/libgpiod/src/line_request.rs | 8 ++++---- bindings/rust/libgpiod/src/request_config.rs | 4 ++-- 6 files changed, 11 insertions(+), 14 deletions(-) diff --git a/bindings/rust/gpiosim-sys/Cargo.toml b/bindings/rust/gpiosim-sys/Cargo.toml index c3571d2cf48e..9aa047feba82 100644 --- a/bindings/rust/gpiosim-sys/Cargo.toml +++ b/bindings/rust/gpiosim-sys/Cargo.toml @@ -19,5 +19,5 @@ errno = "0.2.8" libgpiod = { path = "../libgpiod" } [build-dependencies] -bindgen = "0.59.1" +bindgen = "0.63" cc = "1.0.46" diff --git a/bindings/rust/libgpiod-sys/Cargo.toml b/bindings/rust/libgpiod-sys/Cargo.toml index 479184da3f7b..3bc3525aedca 100644 --- a/bindings/rust/libgpiod-sys/Cargo.toml +++ b/bindings/rust/libgpiod-sys/Cargo.toml @@ -17,5 +17,5 @@ edition = "2021" [dependencies] [build-dependencies] -bindgen = "0.59.1" +bindgen = "0.63" cc = "1.0.46" diff --git a/bindings/rust/libgpiod/src/event_buffer.rs b/bindings/rust/libgpiod/src/event_buffer.rs index 5a72ddb197ac..0675ea6c5181 100644 --- a/bindings/rust/libgpiod/src/event_buffer.rs +++ b/bindings/rust/libgpiod/src/event_buffer.rs @@ -2,7 +2,6 @@ // SPDX-FileCopyrightText: 2022 Linaro Ltd. // SPDX-FileCopyrightTest: 2022 Viresh Kumar <viresh.kumar@xxxxxxxxxx> -use std::os::raw::c_ulong; use std::ptr; use super::{ @@ -74,7 +73,7 @@ impl Buffer { pub fn new(capacity: usize) -> Result<Self> { // SAFETY: The `gpiod_edge_event_buffer` returned by libgpiod is guaranteed to live as long // as the `struct Buffer`. - let buffer = unsafe { gpiod::gpiod_edge_event_buffer_new(capacity as c_ulong) }; + let buffer = unsafe { gpiod::gpiod_edge_event_buffer_new(capacity) }; if buffer.is_null() { return Err(Error::OperationFailed( OperationType::EdgeEventBufferNew, diff --git a/bindings/rust/libgpiod/src/line_config.rs b/bindings/rust/libgpiod/src/line_config.rs index 3848a3a68304..a2721a20e4fa 100644 --- a/bindings/rust/libgpiod/src/line_config.rs +++ b/bindings/rust/libgpiod/src/line_config.rs @@ -2,8 +2,6 @@ // SPDX-FileCopyrightText: 2022 Linaro Ltd. // SPDX-FileCopyrightTest: 2022 Viresh Kumar <viresh.kumar@xxxxxxxxxx> -use std::os::raw::c_ulong; - use super::{ gpiod, line::{Offset, Settings, SettingsMap, Value}, @@ -65,7 +63,7 @@ impl Config { gpiod::gpiod_line_config_add_line_settings( self.config, offsets.as_ptr(), - offsets.len() as c_ulong, + offsets.len(), settings.settings, ) }; @@ -91,7 +89,7 @@ impl Config { gpiod::gpiod_line_config_set_output_values( self.config, mapped_values.as_ptr(), - values.len() as u64, + values.len(), ) }; diff --git a/bindings/rust/libgpiod/src/line_request.rs b/bindings/rust/libgpiod/src/line_request.rs index a77c95deb1e3..ebf41f240ae2 100644 --- a/bindings/rust/libgpiod/src/line_request.rs +++ b/bindings/rust/libgpiod/src/line_request.rs @@ -2,7 +2,7 @@ // SPDX-FileCopyrightText: 2022 Linaro Ltd. // SPDX-FileCopyrightTest: 2022 Viresh Kumar <viresh.kumar@xxxxxxxxxx> -use std::os::{raw::c_ulong, unix::prelude::AsRawFd}; +use std::os::unix::prelude::AsRawFd; use std::time::Duration; use super::{ @@ -40,7 +40,7 @@ impl Request { gpiod::gpiod_line_request_get_requested_offsets( self.request, offsets.as_mut_ptr(), - self.num_lines() as u64, + self.num_lines(), ) }; offsets.shrink_to(num_offsets as usize); @@ -70,7 +70,7 @@ impl Request { let ret = unsafe { gpiod::gpiod_line_request_get_values_subset( self.request, - offsets.len() as c_ulong, + offsets.len(), offsets.as_ptr(), values.as_mut_ptr(), ) @@ -127,7 +127,7 @@ impl Request { let ret = unsafe { gpiod::gpiod_line_request_set_values_subset( self.request, - offsets.len() as c_ulong, + offsets.len(), offsets.as_ptr(), values.as_ptr(), ) diff --git a/bindings/rust/libgpiod/src/request_config.rs b/bindings/rust/libgpiod/src/request_config.rs index 939838cbed2f..2ad68efdd12a 100644 --- a/bindings/rust/libgpiod/src/request_config.rs +++ b/bindings/rust/libgpiod/src/request_config.rs @@ -3,7 +3,7 @@ // SPDX-FileCopyrightTest: 2022 Viresh Kumar <viresh.kumar@xxxxxxxxxx> use std::ffi::{CStr, CString}; -use std::os::raw::{c_char, c_ulong}; +use std::os::raw::c_char; use std::str; use super::{gpiod, Error, OperationType, Result}; @@ -75,7 +75,7 @@ impl Config { /// Set the size of the kernel event buffer for the request. pub fn set_event_buffer_size(&mut self, size: usize) -> &mut Self { // SAFETY: `gpiod_request_config` is guaranteed to be valid here. - unsafe { gpiod::gpiod_request_config_set_event_buffer_size(self.config, size as c_ulong) } + unsafe { gpiod::gpiod_request_config_set_event_buffer_size(self.config, size) } self } -- 2.31.1.272.g89b43f80a514