Re: [PATCH v5 0/6] rust: reduce pointer casts, enable related lints
From: Benno Lossin
Date: Tue Mar 25 2025 - 11:34:47 EST
On Tue Mar 25, 2025 at 2:34 PM CET, Tamir Duberstein wrote:
> On Tue, Mar 25, 2025 at 7:05 AM Benno Lossin <benno.lossin@xxxxxxxxx> wrote:
>> On Mon Mar 24, 2025 at 10:59 PM CET, Tamir Duberstein wrote:
>> > On Mon, Mar 24, 2025 at 5:55 PM Benno Lossin <benno.lossin@xxxxxxxxx> wrote:
>> >> On Mon Mar 24, 2025 at 9:55 PM CET, Tamir Duberstein wrote:
>> >> > On Mon, Mar 24, 2025 at 4:16 PM Benno Lossin <benno.lossin@xxxxxxxxx> wrote:
>> >> >> I'll leave it up to you what you want to do with this: add it to this
>> >> >> series, make a new one, or let someone else handle it. If you don't want
>> >> >> to handle it, let me know, then I'll create a good-first-issue :)
>> >> >
>> >> > I'll add a patch for `cast_lossless` -- the rest should probably go
>> >> > into an issue.
>> >>
>> >> Do you mind filing the issue? Then you can decide yourself what you want
>> >> to do yourself vs what you want to leave for others. Feel free to copy
>> >> from my mail summary.
>> >
>> > Well, I don't really know what's left to do. We're pretty close at
>> > this point to having enabled everything but the nukes. Then there's
>> > the strict provenance thing, which I suppose we can write down.
>>
>> Yes, but there are also these from my original mail:
>> * `shared_ref as *const _` (for example in rust/kernel/uaccess.rs:247,
>> rust/kernel/str.rs:32 and rust/kernel/fs/file.rs:367), these we can
>> replace with `let ptr: *const ... = shared_ref;`. Don't know if there
>> is a clippy lint for this.
>
> I don't think we should go fixing things for which we don't have a
> clippy lint. That way lies madness, particularly as patches begin to
> be carried by other trees.
There already exists a lint for that: `clippy::ref_as_ptr` (almost
created an issue asking for one :)
Here is another lint that we probably want to enable (after the `&raw
{const,mut}` series lands): `clippy::borrow_as_ptr`.
---
Cheers,
Benno