linux-modules.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Re: [linux-next:master 4806/10599] error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
       [not found] <202511210858.uwVivgvn-lkp@intel.com>
@ 2025-11-26 13:41 ` Daniel Gomez
  2025-11-26 13:50   ` Miguel Ojeda
  0 siblings, 1 reply; 3+ messages in thread
From: Daniel Gomez @ 2025-11-26 13:41 UTC (permalink / raw)
  To: kernel test robot, Andreas Hindborg
  Cc: llvm, oe-kbuild-all, Benno Lossin, linux-modules



On 21/11/2025 01.24, kernel test robot wrote:
> tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> head:   88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> commit: 0b08fc292842a13aa496413b48c1efb83573b8c6 [4806/10599] rust: introduce module_param module
> config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210858.uwVivgvn-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/202511210858.uwVivgvn-lkp@intel.com/reproduce)

We can't reproduce this.

If anyone cares, please let us know how to reproduce it. 

Tested on Debian testing x86_64 host.

rustc --version
rustc 1.91.1 (ed61e7d7e 2025-11-07

/home/dagomez/0day/llvm-22.0.0-e19fa930ca838715028c00c234874d1db4f93154-20250918-184558-x86_64/bin/clang-22 --version
ClangBuiltLinux clang version 22.0.0git (https://github.com/llvm/llvm-project.git e19fa930ca838715028c00c234874d1db4f93154)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/dagomez/0day/llvm-22.0.0-e19fa930ca838715028c00c234874d1db4f93154-20250918-184558-x86_64/bin

  561  wget https://download.01.org/0day-ci/archive/20251121/202511210858.uwVivgvn-lkp@intel.com/config
  563  git clone https://github.com/intel/lkp-tests.git ~/lkp-tests
  565  mkdir -p build_dir && cp config build_dir/.config

  571  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um olddefconfig
  572  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um prepare
  573  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um -j$(nproc)

I'm just getting these warnings:

...
In file included from ../arch/um/include/asm/io.h:24:
../include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
 1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
      |                                                   ~~~~~~~~~~ ^
In file included from ../drivers/gpu/drm/nouveau/nvc0_fence.c:24:
In file included from ../drivers/gpu/drm/nouveau/nouveau_drv.h:42:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/client.h:5:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/object.h:4:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/os.h:8:
In file included from ../include/linux/pci.h:38:
In file included from ../include/linux/interrupt.h:11:
In file included from ../include/linux/hardirq.h:11:
In file included from ../arch/um/include/asm/hardirq.h:5:
In file included from ../include/asm-generic/hardirq.h:17:
In file included from ../include/linux/irq.h:20:
In file included from ../include/linux/io.h:12:
In file included from ../arch/um/include/asm/io.h:24:
../include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
 1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
      |                                                   ~~~~~~~~~~ ^
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
In file included from ../drivers/gpu/drm/nouveau/gv100_fence.c:5:
In file included from ../drivers/gpu/drm/nouveau/nouveau_drv.h:42:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/client.h:5:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/object.h:4:
In file included from ../drivers/gpu/drm/nouveau/include/nvif/os.h:8:
In file included from ../include/linux/pci.h:38:
In file included from ../include/linux/interrupt.h:11:
In file included from ../include/linux/hardirq.h:11:
In file included from ../arch/um/include/asm/hardirq.h:5:
In file included from ../include/asm-generic/hardirq.h:17:
In file included from ../include/linux/irq.h:20:
In file included from ../include/linux/io.h:12:
In file included from ../arch/um/include/asm/io.h:24:
../include/asm-generic/io.h:1209:55: warning: performing pointer arithmetic on a null pointer has undefined behavior [-Wnull-pointer-arithmetic]
 1209 |         return (port > MMIO_UPPER_LIMIT) ? NULL : PCI_IOBASE + port;
      |                                                   ~~~~~~~~~~ ^
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
1 warning generated.
  AR      drivers/gpu/drm/nouveau/built-in.a
  AR      drivers/gpu/drm/built-in.a
  AR      drivers/gpu/built-in.a
  AR      drivers/built-in.a
  AR      built-in.a
  AR      vmlinux.a
  LD      vmlinux.o
  MODPOST vmlinux.symvers
  CC      .vmlinux.export.o
  UPD     include/generated/utsversion.h
  CC      init/version-timestamp.o
  KSYMS   .tmp_vmlinux0.kallsyms.S
  AS      .tmp_vmlinux0.kallsyms.o
  LD      .tmp_vmlinux1
/usr/bin/ld: warning: .tmp_vmlinux1 has a LOAD segment with RWX permissions
  NM      .tmp_vmlinux1.syms
  KSYMS   .tmp_vmlinux1.kallsyms.S
  AS      .tmp_vmlinux1.kallsyms.o
  LD      .tmp_vmlinux2
/usr/bin/ld: warning: .tmp_vmlinux2 has a LOAD segment with RWX permissions
  NM      .tmp_vmlinux2.syms
  KSYMS   .tmp_vmlinux2.kallsyms.S
  AS      .tmp_vmlinux2.kallsyms.o
  LD      vmlinux.unstripped
/usr/bin/ld: warning: vmlinux.unstripped has a LOAD segment with RWX permissions
  NM      System.map
  OBJCOPY vmlinux
  OBJCOPY modules.builtin.modinfo
  GEN     modules.builtin
  LINK linux
make[1]: Leaving directory '/home/dagomez/ws/c131/kernel/vcs/modules/build_dir'

> 
> 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/202511210858.uwVivgvn-lkp@intel.com/
> 
> All errors (new ones prefixed by >>):
> 
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
>    --> rust/kernel/module_param.rs:166:13
>    |
>    166 |             get: None,
>    |             ^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    177 | make_param_ops!(PARAM_OPS_U32, u32);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `free`
>    --> rust/kernel/module_param.rs:167:13
>    |
>    167 |             free: None,
>    |             ^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    177 | make_param_ops!(PARAM_OPS_U32, u32);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `flags`
>    --> rust/kernel/module_param.rs:164:13
>    |
>    164 |             flags: 0,
>    |             ^^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    178 | make_param_ops!(PARAM_OPS_I64, i64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `set`
>    --> rust/kernel/module_param.rs:165:13
>    |
>    165 |             set: Some(set_param::<$ty>),
>    |             ^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    178 | make_param_ops!(PARAM_OPS_I64, i64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
>    --> rust/kernel/module_param.rs:166:13
>    |
>    166 |             get: None,
>    |             ^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    178 | make_param_ops!(PARAM_OPS_I64, i64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `free`
>    --> rust/kernel/module_param.rs:167:13
>    |
>    167 |             free: None,
>    |             ^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    178 | make_param_ops!(PARAM_OPS_I64, i64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `flags`
>    --> rust/kernel/module_param.rs:164:13
>    |
>    164 |             flags: 0,
>    |             ^^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    179 | make_param_ops!(PARAM_OPS_U64, u64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `set`
>    --> rust/kernel/module_param.rs:165:13
>    |
>    165 |             set: Some(set_param::<$ty>),
>    |             ^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    179 | make_param_ops!(PARAM_OPS_U64, u64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
>    --> rust/kernel/module_param.rs:166:13
>    |
>    166 |             get: None,
>    |             ^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    179 | make_param_ops!(PARAM_OPS_U64, u64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `free`
>    --> rust/kernel/module_param.rs:167:13
>    |
>    167 |             free: None,
>    |             ^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    179 | make_param_ops!(PARAM_OPS_U64, u64);
>    | ----------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> --
>>> error[E0560]: struct `bindings::kernel_param_ops` has no field named `flags`
>    --> rust/kernel/module_param.rs:164:13
>    |
>    164 |             flags: 0,
>    |             ^^^^^ `bindings::kernel_param_ops` does not have this field
>    ...
>    180 | make_param_ops!(PARAM_OPS_ISIZE, isize);
>    | --------------------------------------- in this macro invocation
>    |
>    = note: all struct fields are already assigned
>    = note: this error originates in the macro `make_param_ops` (in Nightly builds, run with -Z macro-backtrace for more info)
> ..
> 

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [linux-next:master 4806/10599] error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
  2025-11-26 13:41 ` [linux-next:master 4806/10599] error[E0560]: struct `bindings::kernel_param_ops` has no field named `get` Daniel Gomez
@ 2025-11-26 13:50   ` Miguel Ojeda
  2025-11-27  9:26     ` David Gow
  0 siblings, 1 reply; 3+ messages in thread
From: Miguel Ojeda @ 2025-11-26 13:50 UTC (permalink / raw)
  To: Daniel Gomez
  Cc: kernel test robot, Andreas Hindborg, llvm, oe-kbuild-all,
	Benno Lossin, linux-modules, Richard Weinberger, Anton Ivanov,
	Johannes Berg, linux-um, David Gow

On Wed, Nov 26, 2025 at 2:41 PM Daniel Gomez <da.gomez@kernel.org> wrote:
>
> On 21/11/2025 01.24, kernel test robot wrote:
> > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > head:   88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> > commit: 0b08fc292842a13aa496413b48c1efb83573b8c6 [4806/10599] rust: introduce module_param module
> > config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210858.uwVivgvn-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/202511210858.uwVivgvn-lkp@intel.com/reproduce)
>
> We can't reproduce this.
>
> If anyone cares, please let us know how to reproduce it.
>
> Tested on Debian testing x86_64 host.
>
> rustc --version
> rustc 1.91.1 (ed61e7d7e 2025-11-07
>
> /home/dagomez/0day/llvm-22.0.0-e19fa930ca838715028c00c234874d1db4f93154-20250918-184558-x86_64/bin/clang-22 --version
> ClangBuiltLinux clang version 22.0.0git (https://github.com/llvm/llvm-project.git e19fa930ca838715028c00c234874d1db4f93154)
> Target: x86_64-unknown-linux-gnu
> Thread model: posix
> InstalledDir: /home/dagomez/0day/llvm-22.0.0-e19fa930ca838715028c00c234874d1db4f93154-20250918-184558-x86_64/bin
>
>   561  wget https://download.01.org/0day-ci/archive/20251121/202511210858.uwVivgvn-lkp@intel.com/config
>   563  git clone https://github.com/intel/lkp-tests.git ~/lkp-tests
>   565  mkdir -p build_dir && cp config build_dir/.config
>
>   571  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um olddefconfig
>   572  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um prepare
>   573  COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang-22 ~/lkp-tests/kbuild/make.cross W=1 O=build_dir ARCH=um -j$(nproc)
>
> I'm just getting these warnings:
>
> ...

Cc'ing UML so that they are in the loop.

Cheers,
Miguel

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [linux-next:master 4806/10599] error[E0560]: struct `bindings::kernel_param_ops` has no field named `get`
  2025-11-26 13:50   ` Miguel Ojeda
@ 2025-11-27  9:26     ` David Gow
  0 siblings, 0 replies; 3+ messages in thread
From: David Gow @ 2025-11-27  9:26 UTC (permalink / raw)
  To: Miguel Ojeda
  Cc: Daniel Gomez, kernel test robot, Andreas Hindborg, llvm,
	oe-kbuild-all, Benno Lossin, linux-modules, Richard Weinberger,
	Anton Ivanov, Johannes Berg, linux-um

[-- Attachment #1: Type: text/plain, Size: 1356 bytes --]

On Wed, 26 Nov 2025 at 21:50, Miguel Ojeda
<miguel.ojeda.sandonis@gmail.com> wrote:
>
> On Wed, Nov 26, 2025 at 2:41 PM Daniel Gomez <da.gomez@kernel.org> wrote:
> >
> > On 21/11/2025 01.24, kernel test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
> > > head:   88cbd8ac379cf5ce68b7efcfd4d1484a6871ee0b
> > > commit: 0b08fc292842a13aa496413b48c1efb83573b8c6 [4806/10599] rust: introduce module_param module
> > > config: um-randconfig-001-20251121 (https://download.01.org/0day-ci/archive/20251121/202511210858.uwVivgvn-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/202511210858.uwVivgvn-lkp@intel.com/reproduce)
> >
> > We can't reproduce this.
> >
> > If anyone cares, please let us know how to reproduce it.
> >

Thanks -- this does sit in the category of things I care about (at
least in theory), but also can't reproduce.

It looks like this affects random struct fields in bindings:: (I've
seen other 0day reports with other structs and fields). If anyone has
any idea what's going on, suggestions are welcome.

Cheers,
-- David

[-- Attachment #2: S/MIME Cryptographic Signature --]
[-- Type: application/pkcs7-signature, Size: 5281 bytes --]

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-11-27  9:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <202511210858.uwVivgvn-lkp@intel.com>
2025-11-26 13:41 ` [linux-next:master 4806/10599] error[E0560]: struct `bindings::kernel_param_ops` has no field named `get` Daniel Gomez
2025-11-26 13:50   ` Miguel Ojeda
2025-11-27  9:26     ` David Gow

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).