[PATCH] riscv: cpufeature: avoid uninitialized variable in has_thead_homogeneous_vlenb()

Paul Walmsley pjw at kernel.org
Fri Oct 17 23:31:11 PDT 2025


In has_thead_homogeneous_vlenb(), smatch detected that the vlenb variable 
could be used while uninitialized.  It appears that this could happen if 
no CPUs described in DT have the "thead,vlenb" property.

Fix by initializing vlenb to 0, which will keep thead_vlenb_of set to 0 
(as it was statically initialized).  This in turn will cause 
riscv_v_setup_vsize() to fall back to CSR probing - the desired result if 
thead,vlenb isn't provided in the DT data.

While here, fix a nearby comment typo.

Cc: stable at vger.kernel.org
Cc: Charlie Jenkins <charlie at rivosinc.com>
Fixes: 377be47f90e41 ("riscv: vector: Use vlenb from DT for thead")
Signed-off-by: Paul Walmsley <pjw at kernel.org>
---
 arch/riscv/kernel/cpufeature.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/riscv/kernel/cpufeature.c b/arch/riscv/kernel/cpufeature.c
index 67b59699357d..72ca768f4e91 100644
--- a/arch/riscv/kernel/cpufeature.c
+++ b/arch/riscv/kernel/cpufeature.c
@@ -932,9 +932,9 @@ static int has_thead_homogeneous_vlenb(void)
 {
 	int cpu;
 	u32 prev_vlenb = 0;
-	u32 vlenb;
+	u32 vlenb = 0;
 
-	/* Ignore thead,vlenb property if xtheavector is not enabled in the kernel */
+	/* Ignore thead,vlenb property if xtheadvector is not enabled in the kernel */
 	if (!IS_ENABLED(CONFIG_RISCV_ISA_XTHEADVECTOR))
 		return 0;
 
-- 
2.48.1




More information about the linux-riscv mailing list