On Wed, Mar 12, 2025 at 3:11 PM Benno Lossin benno.lossin@proton.me wrote:
On Wed Mar 12, 2025 at 7:01 PM CET, Tamir Duberstein wrote:
I think all the remaining comments are about strict provenance. I buy that this is a useful thing to do, but in the absence of automated tools to help do it, I'm not sure it's worth it to do it for just these things I happen to be touching rather than doing it throughout.
I couldn't find a clippy lint. Do you know of one? If not, should we file an issue?
A quick search gave me:
https://doc.rust-lang.org/nightly/unstable-book/language-features/strict-provenance-lints.html
The linked tracking issue is closed which seems like a mistake, since it's not yet stabilized. I found a different issue tracking it though:
https://github.com/rust-lang/rust/issues/130351
We probably should use both in that case:
#![feature(strict_provenance_lints)] #![warn(fuzzy_provenance_casts, lossy_provenance_casts)]
Nice! I didn't think to check rustc lints.
I don't want to push more work onto this series, so it's fine to leave them in. Thus:
Reviewed-by: Benno Lossin benno.lossin@proton.me
Thanks!
We can either make this a good-first-issue, or if you also want to tackle this, then go ahead :)
I tried using the strict provenance lints locally and I think we can't until we properly bump MSRV due to `clippy::incompatible_msrv`:
warning: current MSRV (Minimum Supported Rust Version) is `1.78.0` but this item is stable since `1.84.0` --> ../rust/kernel/str.rs:696:22 | 696 | pos: pos.expose_provenance(), | ^^^^^^^^^^^^^^^^^^^ | = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incompatible_msrv
This is with `#![feature(strict_provenance)]`. I can file the issue but I think it's blocked on MSRV >= 1.84.0. But maybe you know of a path forward :)
I'll send v3 with the tags and the phys_addr_t fix shortly.