Re: linux-next: build failure after merge of the workqueues tree
From: Tamir Duberstein
Date: Tue Apr 15 2025 - 09:25:28 EST
On Tue, Apr 15, 2025 at 12:01 AM Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> Hi all,
>
> After merging the workqueues tree, today's linux-next build (x86_64
> allmodconfig) failed like this:
>
> error[E0308]: mismatched types
> --> rust/kernel/lib.rs:204:9
> |
> 204 | ptr.sub(offset) as *const $type
> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ types differ in mutability
> |
> ::: rust/kernel/workqueue.rs:495:18
> |
> 495 | ) -> *mut Self {
> | --------- expected `*mut ClosureWork<T>` because of return type
> ...
> 505 | / impl_has_work! {
> 506 | | impl{T} HasWork<Self> for ClosureWork<T> { self.work }
> 507 | | }
> | |_- in this macro invocation
> |
> = note: expected raw pointer `*mut ClosureWork<T>`
> found raw pointer `*const ClosureWork<T>`
> = note: this error originates in the macro `$crate::container_of` which comes from the expansion of the macro `impl_has_work` (in Nightly builds, run with -Z macro-backtrace for more info)
>
> error: aborting due to 1 previous error
>
> For more information about this error, try `rustc --explain E0308`.
>
> Caused by commit
>
> 345e029b561e ("rust: workqueue: remove HasWork::OFFSET")
>
> I have used the workqueues tree from next-20250414 for today.
HI Stephen, I believe Tejun plans to back this out. See
https://lore.kernel.org/all/CAJ-ks9k2FEfL4SWw3ThhhozAeHB=Ue9-_1pxb9XVPRR2E1Z+SQ@xxxxxxxxxxxxxx/.