* [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
@ 2025-11-20 22:47 kernel test robot
2025-11-21 7:45 ` Alice Ryhl
2025-11-21 9:06 ` Alice Ryhl
0 siblings, 2 replies; 6+ messages in thread
From: kernel test robot @ 2025-11-20 22:47 UTC (permalink / raw)
To: Lyude Paul; +Cc: llvm, oe-kbuild-all, Alice Ryhl
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
commit: d3917368ebc5cd89d7d08eab4673e5c4c73ff42f [2964/10599] rust: drm/gem: Remove Object.dev
config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511210649.lhQnt194-lkp@intel.com/
All errors (new ones prefixed by >>):
>> error[E0609]: no field `dev` on type `drm_gem_object`
--> rust/kernel/drm/gem/mod.rs:231:57
|
231 | unsafe { drm::Device::from_raw((*self.as_raw()).dev) }
| ^^^ unknown field
|
= note: available field is: `_address`
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
2025-11-20 22:47 [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object` kernel test robot
@ 2025-11-21 7:45 ` Alice Ryhl
2025-11-21 9:06 ` Alice Ryhl
1 sibling, 0 replies; 6+ messages in thread
From: Alice Ryhl @ 2025-11-21 7:45 UTC (permalink / raw)
To: kernel test robot; +Cc: Lyude Paul, llvm, oe-kbuild-all
On Thu, Nov 20, 2025 at 11:48 PM kernel test robot <lkp@intel.com> wrote:
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> commit: d3917368ebc5cd89d7d08eab4673e5c4c73ff42f [2964/10599] rust: drm/gem: Remove Object.dev
> config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
> rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202511210649.lhQnt194-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> >> error[E0609]: no field `dev` on type `drm_gem_object`
> --> rust/kernel/drm/gem/mod.rs:231:57
> |
> 231 | unsafe { drm::Device::from_raw((*self.as_raw()).dev) }
> | ^^^ unknown field
> |
> = note: available field is: `_address`
I don't really see how this error can happen.
This is a 32-bit x86 CONFIG_UML config ... maybe something with that?
Alice
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
2025-11-20 22:47 [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object` kernel test robot
2025-11-21 7:45 ` Alice Ryhl
@ 2025-11-21 9:06 ` Alice Ryhl
2025-11-21 12:53 ` Philip Li
2025-11-21 15:26 ` Miguel Ojeda
1 sibling, 2 replies; 6+ messages in thread
From: Alice Ryhl @ 2025-11-21 9:06 UTC (permalink / raw)
To: kernel test robot; +Cc: Lyude Paul, llvm, oe-kbuild-all
On Fri, Nov 21, 2025 at 06:47:35AM +0800, kernel test robot wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head: 88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> commit: d3917368ebc5cd89d7d08eab4673e5c4c73ff42f [2964/10599] rust: drm/gem: Remove Object.dev
> config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-lkp@intel.com/config)
> compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
> rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-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@intel.com>
> | Closes: https://lore.kernel.org/oe-kbuild-all/202511210649.lhQnt194-lkp@intel.com/
>
> All errors (new ones prefixed by >>):
>
> >> error[E0609]: no field `dev` on type `drm_gem_object`
> --> rust/kernel/drm/gem/mod.rs:231:57
> |
> 231 | unsafe { drm::Device::from_raw((*self.as_raw()).dev) }
> | ^^^ unknown field
> |
> = note: available field is: `_address`
I tried reproducing this on commit d3917368ebc5, but I got this error
instead:
error[E0432]: unresolved imports `core::sync::atomic::AtomicI64`, `core::sync::atomic::AtomicU64`
--> <linux>/rust/kernel/debugfs/traits.rs:12:27
|
12 | AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU64,
| ^^^^^^^^^ no `AtomicI64` in `sync::atomic` ^^^^^^^^^ no `AtomicU64` in `sync::atomic`
|
help: a similar name exists in the module
|
12 | AtomicI16, AtomicI32, AtomicI32, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU64,
| ~~~~~~~~~
help: a similar name exists in the module
|
12 | AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU32,
| ~~~~~~~~~
error[E0560]: struct `bindings::drm_gem_object_funcs` has no field named `vmap`
--> <linux>/rust/kernel/drm/gem/mod.rs:188:9
|
188 | vmap: None,
| ^^^^ `bindings::drm_gem_object_funcs` does not have this field
|
= note: available fields are: `kernel_vmap`
error: aborting due to 2 previous errors
This was with ARCH=um SUBARCH=i386 in my make invocation and the
provided config.
Perhaps this config is just not working in general?
Alice
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
2025-11-21 9:06 ` Alice Ryhl
@ 2025-11-21 12:53 ` Philip Li
2025-11-21 15:26 ` Miguel Ojeda
1 sibling, 0 replies; 6+ messages in thread
From: Philip Li @ 2025-11-21 12:53 UTC (permalink / raw)
To: Alice Ryhl; +Cc: kernel test robot, Lyude Paul, llvm, oe-kbuild-all
On Fri, Nov 21, 2025 at 09:06:17AM +0000, Alice Ryhl wrote:
> On Fri, Nov 21, 2025 at 06:47:35AM +0800, kernel test robot wrote:
> > tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head: 88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> > commit: d3917368ebc5cd89d7d08eab4673e5c4c73ff42f [2964/10599] rust: drm/gem: Remove Object.dev
> > config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-lkp@intel.com/config)
> > compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 9e9fe08b16ea2c4d9867fb4974edf2a3776d6ece)
> > rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
> > reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251121/202511210649.lhQnt194-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@intel.com>
> > | Closes: https://lore.kernel.org/oe-kbuild-all/202511210649.lhQnt194-lkp@intel.com/
> >
> > All errors (new ones prefixed by >>):
> >
> > >> error[E0609]: no field `dev` on type `drm_gem_object`
> > --> rust/kernel/drm/gem/mod.rs:231:57
> > |
> > 231 | unsafe { drm::Device::from_raw((*self.as_raw()).dev) }
> > | ^^^ unknown field
> > |
> > = note: available field is: `_address`
>
> I tried reproducing this on commit d3917368ebc5, but I got this error
> instead:
>
> error[E0432]: unresolved imports `core::sync::atomic::AtomicI64`, `core::sync::atomic::AtomicU64`
> --> <linux>/rust/kernel/debugfs/traits.rs:12:27
> |
> 12 | AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU64,
> | ^^^^^^^^^ no `AtomicI64` in `sync::atomic` ^^^^^^^^^ no `AtomicU64` in `sync::atomic`
> |
> help: a similar name exists in the module
> |
> 12 | AtomicI16, AtomicI32, AtomicI32, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU64,
> | ~~~~~~~~~
> help: a similar name exists in the module
> |
> 12 | AtomicI16, AtomicI32, AtomicI64, AtomicI8, AtomicIsize, AtomicU16, AtomicU32, AtomicU32,
> | ~~~~~~~~~
>
> error[E0560]: struct `bindings::drm_gem_object_funcs` has no field named `vmap`
> --> <linux>/rust/kernel/drm/gem/mod.rs:188:9
> |
> 188 | vmap: None,
> | ^^^^ `bindings::drm_gem_object_funcs` does not have this field
> |
> = note: available fields are: `kernel_vmap`
>
> error: aborting due to 2 previous errors
>
> This was with ARCH=um SUBARCH=i386 in my make invocation and the
> provided config.
>
> Perhaps this config is just not working in general?
Sorry that this kconfig reports quite some rust related issues today,
i will avoid sending out these reports directly until there's some
clue whether these issues are false one or not.
>
> Alice
>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
2025-11-21 9:06 ` Alice Ryhl
2025-11-21 12:53 ` Philip Li
@ 2025-11-21 15:26 ` Miguel Ojeda
2025-11-22 7:37 ` David Gow
1 sibling, 1 reply; 6+ messages in thread
From: Miguel Ojeda @ 2025-11-21 15:26 UTC (permalink / raw)
To: Alice Ryhl, David Gow
Cc: kernel test robot, Lyude Paul, llvm, oe-kbuild-all,
Richard Weinberger, Anton Ivanov, Johannes Berg, Danilo Krummrich,
Abdiel Janulgue, Daniel Almeida, Robin Murphy, Andreas Hindborg
On Fri, Nov 21, 2025 at 10:06 AM Alice Ryhl <aliceryhl@google.com> wrote:
>
> Perhaps this config is just not working in general?
For context (copying myself from another recent thread):
x86_64, arm64 and riscv64 should be kept working, and I also
build-test loongarch64, including for stable kernels.
arm32 and UML are the ones that are best-effort (on my side at least)
so we play catch up as time allows, but loongarch64 so far should
always build and it would be sad to drop that.
Relatedly, on my tests, I have also been seeing in UML:
RUSTC L rust/kernel.o - due to target missing
error[E0425]: cannot find function `dma_set_mask` in crate `bindings`
--> rust/kernel/dma.rs:47:38
|
47 | to_result(unsafe {
bindings::dma_set_mask(self.as_ref().as_raw(), mask.value()) })
| ^^^^^^^^^^^^ help: a
function with a similar name exists: `xa_set_mark`
|
::: /__w/quick/quick/linux/rust/bindings/bindings_generated.rs:24761:5
|
24761 | pub fn xa_set_mark(arg1: *mut xarray, index: ffi::c_ulong,
arg2: xa_mark_t);
| ----------------------------------------------------------------------------
similarly named function `xa_set_mark` defined here
error[E0425]: cannot find function `dma_set_coherent_mask` in crate `bindings`
--> rust/kernel/dma.rs:64:38
|
64 | to_result(unsafe {
bindings::dma_set_coherent_mask(self.as_ref().as_raw(), mask.value())
})
| ^^^^^^^^^^^^^^^^^^^^^
help: a function with a similar name exists: `dma_coherent_ok`
|
::: /__w/quick/quick/linux/rust/bindings/bindings_generated.rs:51489:5
|
51489 | pub fn dma_coherent_ok(dev: *mut device, phys:
phys_addr_t, size: usize) -> bool_;
| ----------------------------------------------------------------------------------
similarly named function `dma_coherent_ok` defined here
error[E0425]: cannot find function `dma_map_sgtable` in crate `bindings`
--> rust/kernel/scatterlist.rs:212:23
|
212 | bindings::dma_map_sgtable(dev.as_raw(),
sgt.as_ptr(), dir.into(), 0)
| ^^^^^^^^^^^^^^^ help: a function with a
similar name exists: `dma_unmap_sgtable`
|
::: /__w/quick/quick/linux/rust/bindings/bindings_helpers_generated.rs:1339:5
|
1339 | / pub fn dma_unmap_sgtable(
1340 | | dev: *mut device,
1341 | | sgt: *mut sg_table,
1342 | | dir: dma_data_direction,
1343 | | attrs: ffi::c_ulong,
1344 | | );
| |______- similarly named function `dma_unmap_sgtable` defined here
error[E0425]: cannot find function `dma_max_mapping_size` in crate `bindings`
--> rust/kernel/scatterlist.rs:356:52
|
356 | let max_segment = match unsafe {
bindings::dma_max_mapping_size(dev.as_raw()) } {
|
^^^^^^^^^^^^^^^^^^^^ not found in `bindings`
Cc'ing David amd UML maintainers and Rust DMA team so that they are aware.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object`
2025-11-21 15:26 ` Miguel Ojeda
@ 2025-11-22 7:37 ` David Gow
0 siblings, 0 replies; 6+ messages in thread
From: David Gow @ 2025-11-22 7:37 UTC (permalink / raw)
To: Miguel Ojeda
Cc: Alice Ryhl, kernel test robot, Lyude Paul, llvm, oe-kbuild-all,
Richard Weinberger, Anton Ivanov, Johannes Berg, Danilo Krummrich,
Abdiel Janulgue, Daniel Almeida, Robin Murphy, Andreas Hindborg
On Fri, 21 Nov 2025 at 23:26, Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Fri, Nov 21, 2025 at 10:06 AM Alice Ryhl <aliceryhl@google.com> wrote:
> >
> > Perhaps this config is just not working in general?
>
> For context (copying myself from another recent thread):
>
> x86_64, arm64 and riscv64 should be kept working, and I also
> build-test loongarch64, including for stable kernels.
>
> arm32 and UML are the ones that are best-effort (on my side at least)
> so we play catch up as time allows, but loongarch64 so far should
> always build and it would be sad to drop that.
>
The short answer for UML is that 64-bit should be working (though
unless it breaks the KUnit configs, it's very much best-effort), and
32-bit is much more likely to break. A lot of that is due to general
32-bit issues which probably affect arm32 as well, but there
definitely could be some UML-specific ones as well.
The issue you're seeing with the Atomic{U,I}64 types, though, has a
fix which should land in 6.19:
https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=f74cf399e02e24c544b0bd4b1fe8fa2c5ae30b18
> Relatedly, on my tests, I have also been seeing in UML:
>
> RUSTC L rust/kernel.o - due to target missing
> error[E0425]: cannot find function `dma_set_mask` in crate `bindings`
> --> rust/kernel/dma.rs:47:38
> |
> 47 | to_result(unsafe {
> bindings::dma_set_mask(self.as_ref().as_raw(), mask.value()) })
> | ^^^^^^^^^^^^ help: a
> function with a similar name exists: `xa_set_mark`
> |
> ::: /__w/quick/quick/linux/rust/bindings/bindings_generated.rs:24761:5
> |
> 24761 | pub fn xa_set_mark(arg1: *mut xarray, index: ffi::c_ulong,
> arg2: xa_mark_t);
> | ----------------------------------------------------------------------------
> similarly named function `xa_set_mark` defined here
>
> error[E0425]: cannot find function `dma_set_coherent_mask` in crate `bindings`
> --> rust/kernel/dma.rs:64:38
> |
> 64 | to_result(unsafe {
> bindings::dma_set_coherent_mask(self.as_ref().as_raw(), mask.value())
> })
> | ^^^^^^^^^^^^^^^^^^^^^
> help: a function with a similar name exists: `dma_coherent_ok`
> |
> ::: /__w/quick/quick/linux/rust/bindings/bindings_generated.rs:51489:5
> |
> 51489 | pub fn dma_coherent_ok(dev: *mut device, phys:
> phys_addr_t, size: usize) -> bool_;
> | ----------------------------------------------------------------------------------
> similarly named function `dma_coherent_ok` defined here
>
> error[E0425]: cannot find function `dma_map_sgtable` in crate `bindings`
> --> rust/kernel/scatterlist.rs:212:23
> |
> 212 | bindings::dma_map_sgtable(dev.as_raw(),
> sgt.as_ptr(), dir.into(), 0)
> | ^^^^^^^^^^^^^^^ help: a function with a
> similar name exists: `dma_unmap_sgtable`
> |
> ::: /__w/quick/quick/linux/rust/bindings/bindings_helpers_generated.rs:1339:5
> |
> 1339 | / pub fn dma_unmap_sgtable(
> 1340 | | dev: *mut device,
> 1341 | | sgt: *mut sg_table,
> 1342 | | dir: dma_data_direction,
> 1343 | | attrs: ffi::c_ulong,
> 1344 | | );
> | |______- similarly named function `dma_unmap_sgtable` defined here
>
> error[E0425]: cannot find function `dma_max_mapping_size` in crate `bindings`
> --> rust/kernel/scatterlist.rs:356:52
> |
> 356 | let max_segment = match unsafe {
> bindings::dma_max_mapping_size(dev.as_raw()) } {
> |
> ^^^^^^^^^^^^^^^^^^^^ not found in `bindings`
>
> Cc'ing David amd UML maintainers and Rust DMA team so that they are aware.
Hmm... this is interesting. There have been a bunch of issues from the
last ~day or so on UML which seem to come from things which are
missing in bindgen bindings, including some KUnit struct members, and
some to do with `vmap` members in DRM structs. The latter is a
somewhat nasty incompatibility with a hack to avoid conflicts with
libpcap on UML, but I'm yet to reproduce the others (including this
DMA one you mention).
Certainly, I can see dma_set_mask and dma_max_mapping_size in
`bindings` here, so I don't know why they'd be missing.
Cheers,
-- David
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-11-22 7:37 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-11-20 22:47 [linux-next:master 2964/10599] error[E0609]: no field `dev` on type `drm_gem_object` kernel test robot
2025-11-21 7:45 ` Alice Ryhl
2025-11-21 9:06 ` Alice Ryhl
2025-11-21 12:53 ` Philip Li
2025-11-21 15:26 ` Miguel Ojeda
2025-11-22 7:37 ` David Gow
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox