RISC-V: hwprobe: Fix vDSO SIGSEGV
authorAndrew Jones <ajones@ventanamicro.com>
Tue, 10 Oct 2023 16:51:02 +0000 (18:51 +0200)
committerPalmer Dabbelt <palmer@rivosinc.com>
Thu, 2 Nov 2023 21:05:30 +0000 (14:05 -0700)
commite1c05b3bf80f829ced464bdca90f1dfa96e8d251
tree6b08f6ae1397c02d9008c83458622caabeba8adb
parent653301077c1f3e18af33f7950014cda8b4bf4935
RISC-V: hwprobe: Fix vDSO SIGSEGV

A hwprobe pair key is signed, but the hwprobe vDSO function was
only checking that the upper bound was valid. In order to help
avoid this type of problem in the future, and in anticipation of
this check becoming more complicated with sparse keys, introduce
and use a "key is valid" predicate function for the check.

Fixes: aa5af0aa90ba ("RISC-V: Add hwprobe vDSO function and data")
Signed-off-by: Andrew Jones <ajones@ventanamicro.com>
Reviewed-by: Evan Green <evan@rivosinc.com>
Link: https://lore.kernel.org/r/20231010165101.14942-2-ajones@ventanamicro.com
Signed-off-by: Palmer Dabbelt <palmer@rivosinc.com>
arch/riscv/include/asm/hwprobe.h
arch/riscv/kernel/vdso/hwprobe.c