[PATCH] riscv: hwprobe: Register unaligned probes before usermode

Paul Walmsley pjw at kernel.org
Thu Aug 6 11:50:11 PDT 2026


Hi, 

On Tue, 21 Jul 2026, Rui Qi wrote:

> The hwprobe vDSO data is populated by the first riscv_hwprobe syscall.
> Some values, such as MISALIGNED_VECTOR_PERF, may depend on the async
> vector unaligned access speed probe registered by
> check_unaligned_access_all_cpus().
> 
> That initcall currently runs at late_initcall level. However,
> rootfs_initcall enables usermode helpers before late initcalls run, so an
> early helper can execute userspace and call riscv_hwprobe first.
> 
> In that case complete_hwprobe_vdso_data() consumes the initial
> pending_boot_probes reference, populates the vDSO cache, and marks it
> ready before the later async probe is registered. The eventual probe
> result then cannot update the already-ready cache.
> 
> Move check_unaligned_access_all_cpus() to fs_initcall_sync. This still
> runs after clocksource_done_booting(), so the ktime_get_mono_fast_ns()
> benchmark uses a stable clocksource, but it runs before rootfs_initcall
> enables usermode helpers.
> 
> Any async hwprobe probe is therefore registered before userspace can
> trigger the one-time vDSO cache population.
> 
> Fixes: 6455c6c11827 ("riscv: Clean up & optimize unaligned scalar access probe")
> Signed-off-by: Rui Qi <qirui.001 at bytedance.com>

Now that we've queued a patch to get rid of the async hwprobe 
infrastructure, is this patch still needed?


- Paul



More information about the linux-riscv mailing list