On Mon, Jun 23, 2025 at 03:50:45PM +0200, Christian Heusel wrote:
On 25/06/23 02:59PM, Greg Kroah-Hartman wrote:
This is the start of the stable review cycle for the 6.15.4 release. There are 592 patches in this series, all will be posted as a response to this one. If anyone has any issues with these being applied, please let me know.
Responses should be made by Wed, 25 Jun 2025 13:05:55 +0000. Anything received after that time might be too late.
The whole patch series can be found in one patch at: https://www.kernel.org/pub/linux/kernel/v6.x/stable-review/patch-6.15.4-rc1.... or in the git tree and branch at: git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable-rc.git linux-6.15.y and the diffstat can be found below.
thanks,
greg k-h
Hey Greg,
this stable release candidate does not build for me as-is on x86:
error[E0432]: unresolved import `crate::sync::Completion` --> rust/kernel/devres.rs:16:22 | 16 | sync::{rcu, Arc, Completion}, | ^^^^^^^^^^ no `Completion` in `sync`
error[E0412]: cannot find type `Bound` in this scope --> rust/kernel/devres.rs:226:49 | 226 | pub fn access<'a>(&'a self, dev: &'a Device<Bound>) -> Result<&'a T> { | ^^^^^ not found in this scope | help: consider importing this enum | 8 + use core::range::Bound; |
error[E0107]: struct takes 0 generic arguments but 1 generic argument was supplied --> rust/kernel/devres.rs:226:42 | 226 | pub fn access<'a>(&'a self, dev: &'a Device<Bound>) -> Result<&'a T> { | ^^^^^^------- help: remove the unnecessary generics | | | expected 0 generic arguments | note: struct defined here, with 0 generic parameters --> rust/kernel/device.rs:45:12 | 45 | pub struct Device(Opaquebindings::device); | ^^^^^^
error[E0600]: cannot apply unary operator `!` to type `()` --> rust/kernel/devres.rs:172:12 | 172 | if !inner.data.revoke() { | ^^^^^^^^^^^^^^^^^^^^ cannot apply unary operator `!`
error[E0599]: no method named `access` found for struct `Revocable` in the current scope --> rust/kernel/devres.rs:234:33 | 234 | Ok(unsafe { self.0.data.access() }) | ^^^^^^ | ::: rust/kernel/revocable.rs:64:1 | 64 | #[pin_data(PinnedDrop)] | ----------------------- method `access` not found for this struct | help: there is a method `try_access` with a similar name | 234 | Ok(unsafe { self.0.data.try_access() }) | ++++
error[E0599]: no method named `try_access_with` found for struct `Revocable` in the current scope --> rust/kernel/devres.rs:244:21 | 244 | self.0.data.try_access_with(f) | ^^^^^^^^^^^^^^^ | ::: rust/kernel/revocable.rs:64:1 | 64 | #[pin_data(PinnedDrop)] | ----------------------- method `try_access_with` not found for this struct | help: there is a method `try_access` with a similar name, but with different arguments --> rust/kernel/revocable.rs:97:5 | 97 | pub fn try_access(&self) -> Option<RevocableGuard<'_, T>> { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
error[E0308]: mismatched types --> rust/kernel/devres.rs:257:21 | 257 | if unsafe { self.0.data.revoke_nosync() } { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `bool`, found `()`
error: aborting due to 7 previous errors
Some errors have detailed explanations: E0107, E0308, E0412, E0432, E0599, E0600. For more information about an error, try `rustc --explain E0107`. make[2]: *** [rust/Makefile:536: rust/kernel.o] Error 1 make[1]: *** [/build/linux/src/linux-6.15.3/Makefile:1280: prepare] Error 2 make: *** [Makefile:248: __sub-make] Error 2
Thanks for the report, now fixed.
greg k-h