[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202510121801.TbAguq2S-lkp@intel.com>
Date: Sun, 12 Oct 2025 18:40:52 +0800
From: kernel test robot <lkp@...el.com>
To: Markus Probst <markus.probst@...teo.de>,
Danilo Krummrich <dakr@...nel.org>, Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>, Lee Jones <lee@...nel.org>,
Pavel Machek <pavel@...nel.org>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
Lorenzo Stoakes <lorenzo.stoakes@...cle.com>,
Vlastimil Babka <vbabka@...e.cz>,
"Liam R. Howlett" <Liam.Howlett@...cle.com>,
Uladzislau Rezki <urezki@...il.com>,
Boqun Feng <boqun.feng@...il.com>, Gary Guo <gary@...yguo.net>,
bjorn3_gh@...tonmail.com, Benno Lossin <lossin@...nel.org>,
Andreas Hindborg <a.hindborg@...nel.org>,
Alice Ryhl <aliceryhl@...gle.com>, Trevor Gross <tmgross@...ch.edu>,
Markus Probst <markus.probst@...teo.de>,
rust-for-linux@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-leds@...r.kernel.org
Subject: Re: [PATCH v3 2/2] rust: leds: add basic led classdev abstractions
Hi Markus,
kernel test robot noticed the following build errors:
[auto build test ERROR on lee-leds/for-leds-next]
[also build test ERROR on v6.17]
[cannot apply to rust/rust-next rust/alloc-next linus/master next-20251010]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Markus-Probst/rust-add-basic-Pin-Vec-T-A-abstractions/20251011-065458
base: https://git.kernel.org/pub/scm/linux/kernel/git/lee/leds.git for-leds-next
patch link: https://lore.kernel.org/r/20251010225349.734350-3-markus.probst%40posteo.de
patch subject: [PATCH v3 2/2] rust: leds: add basic led classdev abstractions
config: x86_64-rhel-9.4-rust (https://download.01.org/0day-ci/archive/20251012/202510121801.TbAguq2S-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251012/202510121801.TbAguq2S-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202510121801.TbAguq2S-lkp@intel.com/
All errors (new ones prefixed by >>):
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | / KBox::pin_init(led::Device::new(
6098 | | None,
6099 | | None,
6100 | | led::InitData::new()
6101 | | .default_label(c_str!("my_led")),
6102 | | MyLedOps,
6103 | | ))
| |_______^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
|
= help: the trait `LedOps` is implemented for `MyLedOps`
note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
--> rust/kernel/led.rs:26:22
|
26 | pub struct Device<T: LedOps> {
| ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | / KBox::pin_init(led::Device::new(
6098 | | None,
6099 | | None,
6100 | | led::InitData::new()
6101 | | .default_label(c_str!("my_led")),
6102 | | MyLedOps,
6103 | | ))
| |_______^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
|
= help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
--> rust/kernel/types.rs:324:12
|
324 | pub struct Opaque<T> {
| ^^^^^^
note: required because it appears within the type `FwNode`
--> rust/kernel/device/property.rs:35:12
|
35 | pub struct FwNode(Opaque<bindings::fwnode_handle>);
| ^^^^^^
= note: required for `&FwNode` to implement `Send`
note: required because it appears within the type `Option<&FwNode>`
--> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
|
589 | pub enum Option<T> {
| ^^^^^^
note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
--> rust/kernel/led.rs:36:12
|
36 | pub struct InitData<'a> {
| ^^^^^^^^
= note: required for `Device<InitData<'_>>` to implement `Send`
note: required by a bound in `Devres`
--> rust/kernel/devres.rs:108:22
|
108 | pub struct Devres<T: Send> {
| ^^^^ required by this bound in `Devres`
= note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
= note: consider using `--verbose` to print the full type name to the console
--
>> error[E0107]: missing generics for struct `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
--> rust/doctests_kernel_generated.rs:6096:47
|
6096 | fn register_my_led() -> Result<Pin<KBox<led::Device>>> {
| ^^^^^^ expected 1 generic argument
|
note: struct defined here, with 1 generic parameter: `T`
--> rust/kernel/led.rs:26:12
|
26 | pub struct Device<T: LedOps> {
| ^^^^^^ -
help: add missing generic argument
|
6096 | fn register_my_led() -> Result<Pin<KBox<led::Device<T>>>> {
| +++
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
--> rust/doctests_kernel_generated.rs:6100:10
|
6097 | KBox::pin_init(led::Device::new(
| ---------------- required by a bound introduced by this call
...
6100 | / led::InitData::new()
6101 | | .default_label(c_str!("my_led")),
| |_____________________________________________^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
|
= help: the trait `LedOps` is implemented for `MyLedOps`
note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device::<T>::new`
--> rust/kernel/led.rs:168:9
|
168 | impl<T: LedOps> Device<T> {
| ^^^^^^ required by this bound in `Device::<T>::new`
...
172 | pub fn new<'a>(
| --- required by a bound in this associated function
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
--> rust/doctests_kernel_generated.rs:6097:21
|
6097 | KBox::pin_init(led::Device::new(
| _____________________^
6098 | | None,
6099 | | None,
6100 | | led::InitData::new()
6101 | | .default_label(c_str!("my_led")),
6102 | | MyLedOps,
6103 | | ))
| |______^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
|
= help: the trait `LedOps` is implemented for `MyLedOps`
note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device<T>`
--> rust/kernel/led.rs:168:9
|
168 | impl<T: LedOps> Device<T> {
| ^^^^^^ required by this bound in `Device<T>`
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | KBox::pin_init(led::Device::new(
| ^^^^^^^^^^^^^^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
|
= help: the trait `LedOps` is implemented for `MyLedOps`
note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
--> rust/kernel/led.rs:26:22
|
26 | pub struct Device<T: LedOps> {
| ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | KBox::pin_init(led::Device::new(
| ^^^^^^^^^^^^^^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
|
= help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
--> rust/kernel/types.rs:324:12
|
324 | pub struct Opaque<T> {
| ^^^^^^
note: required because it appears within the type `FwNode`
--> rust/kernel/device/property.rs:35:12
|
35 | pub struct FwNode(Opaque<bindings::fwnode_handle>);
| ^^^^^^
= note: required for `&FwNode` to implement `Send`
note: required because it appears within the type `Option<&FwNode>`
--> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
|
589 | pub enum Option<T> {
| ^^^^^^
note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
--> rust/kernel/led.rs:36:12
|
36 | pub struct InitData<'a> {
| ^^^^^^^^
= note: required for `Device<InitData<'_>>` to implement `Send`
note: required by a bound in `Devres`
--> rust/kernel/devres.rs:108:22
|
108 | pub struct Devres<T: Send> {
| ^^^^ required by this bound in `Devres`
= note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
= note: consider using `--verbose` to print the full type name to the console
--
>> error[E0277]: the trait bound `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>: LedOps` is not satisfied
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | KBox::pin_init(led::Device::new(
| ^^^^ the trait `LedOps` is not implemented for `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
|
= help: the trait `LedOps` is implemented for `MyLedOps`
note: required by a bound in `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::Device`
--> rust/kernel/led.rs:26:22
|
26 | pub struct Device<T: LedOps> {
| ^^^^^^ required by this bound in `Device`
--
>> error[E0277]: `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
--> rust/doctests_kernel_generated.rs:6097:6
|
6097 | KBox::pin_init(led::Device::new(
| ^^^^ `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>` cannot be shared between threads safely
|
= help: within `FwNode`, the trait `Sync` is not implemented for `UnsafeCell<MaybeUninit<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>>`
note: required because it appears within the type `Opaque<rust_doctest_kernel_alloc_kbox_rs_7::kernel::bindings::fwnode_handle>`
--> rust/kernel/types.rs:324:12
|
324 | pub struct Opaque<T> {
| ^^^^^^
note: required because it appears within the type `FwNode`
--> rust/kernel/device/property.rs:35:12
|
35 | pub struct FwNode(Opaque<bindings::fwnode_handle>);
| ^^^^^^
= note: required for `&FwNode` to implement `Send`
note: required because it appears within the type `Option<&FwNode>`
--> /opt/cross/rustc-1.88.0-bindgen-0.72.0/rustup/toolchains/1.88.0-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/option.rs:589:10
|
589 | pub enum Option<T> {
| ^^^^^^
note: required because it appears within the type `rust_doctest_kernel_alloc_kbox_rs_7::kernel::led::InitData<'_>`
--> rust/kernel/led.rs:36:12
|
36 | pub struct InitData<'a> {
| ^^^^^^^^
= note: required for `Device<InitData<'_>>` to implement `Send`
note: required by a bound in `Devres`
--> rust/kernel/devres.rs:108:22
|
108 | pub struct Devres<T: Send> {
| ^^^^ required by this bound in `Devres`
= note: the full name for the type has been written to 'rust/doctests_kernel_generated.long-type-938713932875159562.txt'
= note: consider using `--verbose` to print the full type name to the console
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists