Re: [PATCH 1/2] rust: pci: require Send for Driver trait implementers

From: Danilo Krummrich
Date: Wed Mar 19 2025 - 13:13:01 EST


On Wed, Mar 19, 2025 at 10:03:49AM -0700, Greg KH wrote:
> On Wed, Mar 19, 2025 at 03:52:55PM +0100, Danilo Krummrich wrote:
> > The instance of Self, returned and created by Driver::probe() is
> > dropped in the bus' remove() callback.
> >
> > Request implementers of the Driver trait to implement Send, since the
> > remove() callback is not guaranteed to run from the same thread as
> > probe().
> >
> > Fixes: 1bd8b6b2c5d3 ("rust: pci: add basic PCI device / driver abstractions")
> > Reported-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> > Closes: https://lore.kernel.org/lkml/Z9rDxOJ2V2bPjj5i@xxxxxxxxxx/
> > Signed-off-by: Danilo Krummrich <dakr@xxxxxxxxxx>
> > ---
> > rust/kernel/pci.rs | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
>
> As there's no in-kernel users of these, any objection for me to take
> them for 6.15-rc1, or should they go now to Linus for 6.14-final?

I think it's fine to take them for 6.15-rc1 only.

--

Note that, while those patches can be taken "as is" to stable trees, they
require

rust: platform: impl Send + Sync for platform::Device
rust: pci: impl Send + Sync for pci::Device

as well, if

7b948a2af6b5 ("rust: pci: fix unrestricted &mut pci::Device")
4d320e30ee04 ("rust: platform: fix unrestricted &mut platform::Device")

are in the same tree.