lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<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

Powered by Openwall GNU/*/Linux Powered by OpenVZ