lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Mon, 01 Jul 2024 20:06:38 +0000
From: Björn Roy Baron <bjorn3_gh@...tonmail.com>
To: Miguel Ojeda <ojeda@...nel.org>
Cc: Wedson Almeida Filho <wedsonaf@...il.com>, Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>, Benno Lossin <benno.lossin@...ton.me>, Andreas Hindborg <a.hindborg@...sung.com>, Alice Ryhl <aliceryhl@...gle.com>, rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org, patches@...ts.linux.dev
Subject: Re: [PATCH 03/13] rust: allow `dead_code` for never constructed bindings

On Monday, July 1st, 2024 at 20:36, Miguel Ojeda <ojeda@...nel.org> wrote:

> Starting with the upcoming Rust 1.80.0 (since upstream commit 35130d7233e9
> ("Detect pub structs never constructed and unused associated constants
> in traits")), the `dead_code` pass detects more cases, which triggers
> in the `bindings` crate:
> 
>     warning: struct `boot_params` is never constructed
>         --> rust/bindings/bindings_generated.rs:10684:12
>         |
>     10684 | pub struct boot_params {
>         |            ^^^^^^^^^^^
>         |
>         = note: `#[warn(dead_code)]` on by default
> 
> As well as in the `uapi` one:
> 
>     warning: struct `boot_params` is never constructed
>         --> rust/uapi/uapi_generated.rs:10392:12
>         |
>     10392 | pub struct boot_params {
>         |            ^^^^^^^^^^^
>         |
>         = note: `#[warn(dead_code)]` on by default
> 
> These are all expected, since we do not use all the structs in the
> bindings that `bindgen` generates from the C headers.
> 
> Therefore, allow them.
> 
> Signed-off-by: Miguel Ojeda <ojeda@...nel.org>

Reviewed-by: Björn Roy Baron <bjorn3_gh@...tonmail.com>

> ---
>  rust/bindings/lib.rs | 1 +
>  rust/uapi/lib.rs     | 1 +
>  2 files changed, 2 insertions(+)
> 
> diff --git a/rust/bindings/lib.rs b/rust/bindings/lib.rs
> index 40ddaee50d8b..93a1a3fc97bc 100644
> --- a/rust/bindings/lib.rs
> +++ b/rust/bindings/lib.rs
> @@ -24,6 +24,7 @@
>      unsafe_op_in_unsafe_fn
>  )]
>  
> +#[allow(dead_code)]
>  mod bindings_raw {
>      // Use glob import here to expose all helpers.
>      // Symbols defined within the module will take precedence to the glob import.
> diff --git a/rust/uapi/lib.rs b/rust/uapi/lib.rs
> index 0caad902ba40..80a00260e3e7 100644
> --- a/rust/uapi/lib.rs
> +++ b/rust/uapi/lib.rs
> @@ -14,6 +14,7 @@
>  #![cfg_attr(test, allow(unsafe_op_in_unsafe_fn))]
>  #![allow(
>      clippy::all,
> +    dead_code,
>      missing_docs,
>      non_camel_case_types,
>      non_upper_case_globals,
> -- 
> 2.45.2

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ