* [thomas-weissschuh:b4/vdso-asm-generic-vsyscall-h 12/12] arch/riscv/kernel/sys_hwprobe.c:525:31: error: use of undeclared identifier 'vdso_k_arch_data'
@ 2026-08-13 6:35 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2026-08-13 6:35 UTC (permalink / raw)
To: Thomas Weißschuh ; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/thomas.weissschuh/linux.git b4/vdso-asm-generic-vsyscall-h
head: adcfde532be640a97064a7f9ecb20b6026a4c3d2
commit: adcfde532be640a97064a7f9ecb20b6026a4c3d2 [12/12] remove
config: riscv-randconfig-001-20260813 (https://download.01.org/0day-ci/archive/20260813/202608131414.71jXPtRk-lkp@intel.com/config)
compiler: clang version 24.0.0git (https://github.com/llvm/llvm-project 6ea395e4fe4db26920d57779ddae98eac6ba945d)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260813/202608131414.71jXPtRk-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/202608131414.71jXPtRk-lkp@intel.com/
All errors (new ones prefixed by >>):
>> arch/riscv/kernel/sys_hwprobe.c:525:31: error: use of undeclared identifier 'vdso_k_arch_data'
525 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^~~~~~~~~~~~~~~~
>> arch/riscv/kernel/sys_hwprobe.c:543:6: error: incomplete definition of type 'struct vdso_arch_data'
543 | avd->all_cpu_hwprobe_values[key] = pair.value;
| ~~~^
arch/riscv/kernel/sys_hwprobe.c:525:9: note: forward declaration of 'struct vdso_arch_data'
525 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^
arch/riscv/kernel/sys_hwprobe.c:559:5: error: incomplete definition of type 'struct vdso_arch_data'
559 | avd->homogeneous_cpus = id_bitsmash != 0 && id_bitsmash != -1;
| ~~~^
arch/riscv/kernel/sys_hwprobe.c:525:9: note: forward declaration of 'struct vdso_arch_data'
525 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^
arch/riscv/kernel/sys_hwprobe.c:567:5: error: incomplete definition of type 'struct vdso_arch_data'
567 | avd->ready = true;
| ~~~^
arch/riscv/kernel/sys_hwprobe.c:525:9: note: forward declaration of 'struct vdso_arch_data'
525 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^
arch/riscv/kernel/sys_hwprobe.c:573:31: error: use of undeclared identifier 'vdso_k_arch_data'
573 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^~~~~~~~~~~~~~~~
arch/riscv/kernel/sys_hwprobe.c:579:5: error: incomplete definition of type 'struct vdso_arch_data'
579 | avd->ready = false;
| ~~~^
arch/riscv/kernel/sys_hwprobe.c:573:9: note: forward declaration of 'struct vdso_arch_data'
573 | struct vdso_arch_data *avd = vdso_k_arch_data;
| ^
6 errors generated.
vim +/vdso_k_arch_data +525 arch/riscv/kernel/sys_hwprobe.c
53b2b22850e1ff Andrew Jones 2023-11-22 522
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 523 static int complete_hwprobe_vdso_data(void)
53b2b22850e1ff Andrew Jones 2023-11-22 524 {
46fe55b204bfb0 Thomas Weißschuh 2025-02-04 @525 struct vdso_arch_data *avd = vdso_k_arch_data;
53b2b22850e1ff Andrew Jones 2023-11-22 526 u64 id_bitsmash = 0;
53b2b22850e1ff Andrew Jones 2023-11-22 527 struct riscv_hwprobe pair;
53b2b22850e1ff Andrew Jones 2023-11-22 528 int key;
53b2b22850e1ff Andrew Jones 2023-11-22 529
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 530 if (unlikely(!atomic_dec_and_test(&pending_boot_probes)))
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 531 wait_for_completion(&boot_probes_done);
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 532
53b2b22850e1ff Andrew Jones 2023-11-22 533 /*
53b2b22850e1ff Andrew Jones 2023-11-22 534 * Initialize vDSO data with the answers for the "all CPUs" case, to
53b2b22850e1ff Andrew Jones 2023-11-22 535 * save a syscall in the common case.
53b2b22850e1ff Andrew Jones 2023-11-22 536 */
53b2b22850e1ff Andrew Jones 2023-11-22 537 for (key = 0; key <= RISCV_HWPROBE_MAX_KEY; key++) {
53b2b22850e1ff Andrew Jones 2023-11-22 538 pair.key = key;
53b2b22850e1ff Andrew Jones 2023-11-22 539 hwprobe_one_pair(&pair, cpu_online_mask);
53b2b22850e1ff Andrew Jones 2023-11-22 540
53b2b22850e1ff Andrew Jones 2023-11-22 541 WARN_ON_ONCE(pair.key < 0);
53b2b22850e1ff Andrew Jones 2023-11-22 542
53b2b22850e1ff Andrew Jones 2023-11-22 @543 avd->all_cpu_hwprobe_values[key] = pair.value;
53b2b22850e1ff Andrew Jones 2023-11-22 544 /*
53b2b22850e1ff Andrew Jones 2023-11-22 545 * Smash together the vendor, arch, and impl IDs to see if
53b2b22850e1ff Andrew Jones 2023-11-22 546 * they're all 0 or any negative.
53b2b22850e1ff Andrew Jones 2023-11-22 547 */
53b2b22850e1ff Andrew Jones 2023-11-22 548 if (key <= RISCV_HWPROBE_KEY_MIMPID)
53b2b22850e1ff Andrew Jones 2023-11-22 549 id_bitsmash |= pair.value;
53b2b22850e1ff Andrew Jones 2023-11-22 550 }
53b2b22850e1ff Andrew Jones 2023-11-22 551
53b2b22850e1ff Andrew Jones 2023-11-22 552 /*
53b2b22850e1ff Andrew Jones 2023-11-22 553 * If the arch, vendor, and implementation ID are all the same across
53b2b22850e1ff Andrew Jones 2023-11-22 554 * all harts, then assume all CPUs are the same, and allow the vDSO to
53b2b22850e1ff Andrew Jones 2023-11-22 555 * answer queries for arbitrary masks. However if all values are 0 (not
53b2b22850e1ff Andrew Jones 2023-11-22 556 * populated) or any value returns -1 (varies across CPUs), then the
53b2b22850e1ff Andrew Jones 2023-11-22 557 * vDSO should defer to the kernel for exotic cpu masks.
53b2b22850e1ff Andrew Jones 2023-11-22 558 */
53b2b22850e1ff Andrew Jones 2023-11-22 559 avd->homogeneous_cpus = id_bitsmash != 0 && id_bitsmash != -1;
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 560
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 561 /*
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 562 * Make sure all the VDSO values are visible before we look at them.
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 563 * This pairs with the implicit "no speculativly visible accesses"
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 564 * barrier in the VDSO hwprobe code.
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 565 */
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 566 smp_wmb();
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 567 avd->ready = true;
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 568 return 0;
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 569 }
5d15d2ad36b0f7 Jingwei Wang 2025-08-11 570
:::::: The code at line 525 was first introduced by commit
:::::: 46fe55b204bfb007e0f0a5409dcda063ad98b089 riscv: vdso: Switch to generic storage implementation
:::::: TO: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
:::::: CC: Thomas Gleixner <tglx@linutronix.de>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-08-13 6:36 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-13 6:35 [thomas-weissschuh:b4/vdso-asm-generic-vsyscall-h 12/12] arch/riscv/kernel/sys_hwprobe.c:525:31: error: use of undeclared identifier 'vdso_k_arch_data' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.