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]
Message-Id: <DBJIY7IKSNVH.1Q2QD6X30GIRC@kernel.org>
Date: Wed, 23 Jul 2025 17:03:12 +0200
From: "Danilo Krummrich" <dakr@...nel.org>
To: "Daniel Almeida" <daniel.almeida@...labora.com>
Cc: "Boqun Feng" <boqun.feng@...il.com>, "Miguel Ojeda" <ojeda@...nel.org>,
 "Alex Gaynor" <alex.gaynor@...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>, "Greg Kroah-Hartman"
 <gregkh@...uxfoundation.org>, "Rafael J. Wysocki" <rafael@...nel.org>,
 "Thomas Gleixner" <tglx@...utronix.de>, "Bjorn Helgaas"
 <bhelgaas@...gle.com>, Krzysztof Wilczy´nski
 <kwilczynski@...nel.org>, "Benno Lossin" <lossin@...nel.org>,
 <linux-kernel@...r.kernel.org>, <rust-for-linux@...r.kernel.org>,
 <linux-pci@...r.kernel.org>
Subject: Re: [PATCH v7 3/6] rust: irq: add support for non-threaded IRQs and
 handlers

On Wed Jul 23, 2025 at 4:56 PM CEST, Daniel Almeida wrote:
>> On 23 Jul 2025, at 11:35, Danilo Krummrich <dakr@...nel.org> wrote:
>> On 7/23/25 4:26 PM, Boqun Feng wrote:
>>> On Wed, Jul 23, 2025 at 10:55:20AM -0300, Daniel Almeida wrote:
>>> But sure, this and the handler pinned initializer thing is not a blocker
>>> issue. However, I would like to see them resolved as soon as possible
>>> once merged.
>> 
>> I think it would be trivial to make the T an impl PinInit<T, E> and use a
>> completion as example instead of an atomic. So, we should do it right away.
>> 
>> - Danilo
>
>
> I agree that this is a trivial change to make. My point here is not to postpone
> the work; I am actually somewhat against switching to completions, as per the
> reasoning I provided in my latest reply to Boqun. My plan is to switch directly
> to whatever will substitute AtomicU32.

I mean, Boqun has a point. AFAIK, the Rust atomics are UB in the kernel.

So, this is a bit as if we would use spin_lock() instead of spin_lock_irq(),
it's just not correct. Hence, we may not want to showcase it until it's actually
resolved.

The plain truth is, currently there's no synchronization primitive for getting
interior mutability in interrupts.

You can use a normal spinlock or mutex in the threaded handler though.

And in the hard IRQ you can use a completion to indicate something has
completed.

Once we have proper atomics and spin_lock_irq() we can still change it.

> The switch to impl PinInit is fine.

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ