[<prev] [next>] [day] [month] [year] [list]
Message-ID: <D8GR2N2YKX3C.OCX0JXEJ5T@proton.me>
Date: Sat, 15 Mar 2025 09:59:19 +0000
From: Benno Lossin <benno.lossin@...ton.me>
To: Antonio Hickey <contact@...oniohickey.com>, Miguel Ojeda <ojeda@...nel.org>, Alex Gaynor <alex.gaynor@...il.com>, Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>, Björn Roy Baron <bjorn3_gh@...tonmail.com>, Andreas Hindborg <a.hindborg@...nel.org>, Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>, Danilo Krummrich <dakr@...nel.org>
Cc: Benno Lossin <y86-dev@...tonmail.com>, rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 3/3] rust: clippy: disable `addr_of!` and `addr_of_mut` macros
On Sat Mar 15, 2025 at 12:41 AM CET, Antonio Hickey wrote:
> With the `raw_ref_op` feature enabled we no longer want to
> allow use of `addr_of!` and `addr_of_mut!` macros.
>
> We instead want to use `&raw` and `&raw mut` to get raw
> pointers to a place.
To what line length are you wrapping this commit message? I usually do
72 (and I think checkpatch also checks for that?).
Also it would be useful if you could link to
https://github.com/rust-lang/rust-clippy/issues/11431
and note that the lint isn't currently reliable, but we enable it
nevertheless to 1) document that one shouldn't use the `addr_of!` macros
and 2) when the lint becomes useful, we already have it enabled.
> Suggested-by: Benno Lossin <y86-dev@...tonmail.com>
Please change my email to <benno.lossin@...ton.me>.
> Link: https://github.com/Rust-for-Linux/linux/issues/1148
> Signed-off-by: Antonio Hickey <contact@...oniohickey.com>
> ---
> .clippy.toml | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/.clippy.toml b/.clippy.toml
> index 815c94732ed7..95c73959f039 100644
> --- a/.clippy.toml
> +++ b/.clippy.toml
> @@ -8,4 +8,8 @@ disallowed-macros = [
> # The `clippy::dbg_macro` lint only works with `std::dbg!`, thus we simulate
> # it here, see: https://github.com/rust-lang/rust-clippy/issues/11303.
> { path = "kernel::dbg", reason = "the `dbg!` macro is intended as a debugging tool" },
> + # With `raw_ref_op` feature enabled we no longer want to allow use of `addr_of!`
> + # and `addr_of_mut!` macros, but instead use `&raw` or `&raw mut`.
> + { path = "core::ptr::addr_of_mut", reason = "use `&raw mut` instead `addr_of_mut!`" },
> + { path = "core::ptr::addr_of", reason = "use `&raw` instead `addr_of!`" },
This should be `&raw const`. With this and the above changes done, you
may add:
Reviewed-by: Benno Lossin <benno.lossin@...ton.me>
---
Cheers,
Benno
Powered by blists - more mailing lists