Re: linux-next: build failure after merge of the rust tree

Stephen Rothwell
2025-03-24T11:06:32Z

[-- Attachment #1: Type: text/plain, Size: 1851 bytes --]

Hi all,

On Mon, 24 Mar 2025 21:57:02 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> After merging the rust tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> error[E0277]: `*mut MyStruct` cannot be sent between threads safely
> --> samples/rust/rust_dma.rs:47:22
> |
> 47 | impl pci::Driver for DmaSampleDriver {
> | ^^^^^^^^^^^^^^^ `*mut MyStruct` cannot be sent between threads safely
> |
> = help: within `DmaSampleDriver`, the trait `Send` is not implemented for `*mut MyStruct`, which is required by `DmaSampleDriver: Send`
> note: required because it appears within the type `CoherentAllocation<MyStruct>`
> --> rust/kernel/dma.rs:132:12
> note: required because it appears within the type `DmaSampleDriver`
> --> samples/rust/rust_dma.rs:9:8
> |
> 9 | struct DmaSampleDriver {
> | ^^^^^^^^^^^^^^^
> note: required by a bound in `kernel::pci::Driver`
> --> rust/kernel/pci.rs:225:1
>
> error: aborting due to 1 previous error
>
> For more information about this error, try `rustc --explain E0277`.
>
> I have no idea what caused this - it built in next-20250321, but that
> no longer builds, so I have reset to the version of the rust tree in
> next-20250320 (commit 4a47eec07be6).

Actually, the driver-core tree gained these commits over the weekend:

51d0de7596a4 ("rust: platform: require Send for Driver trait implementers")
935e1d90bf6f ("rust: pci: require Send for Driver trait implementers")
455943aa187f ("rust: platform: impl Send + Sync for platform::Device")
e2942bb4e629 ("rust: pci: impl Send + Sync for pci::Device")

A heads up would have been nice ... and maybe even a test merge and
build against -next (given how late we are in the cycle).
--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]