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/[email protected]/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/[email protected]/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/[email protected]/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 <[email protected]>
> | Closes: 
> https://lore.kernel.org/oe-kbuild-all/[email protected]/
> 
> 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)
> ..
> 

Reply via email to