From: Akihiko Odaki Date: Tue, 21 Oct 2025 05:07:14 +0000 (+0900) Subject: target/riscv: Fix a uninitialized variable warning X-Git-Tag: v10.2.0-rc1~45^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a66d9c37984317cf453a3d1c7341be1d54bb9863;p=thirdparty%2Fqemu.git target/riscv: Fix a uninitialized variable warning riscv_cpu_validate_v() left its variable, min_vlen, uninitialized if no vector extension is available, causing a compiler warning. Re-define riscv_cpu_validate_v() as no-op when no vector extension is available to prevent the scenario that will read the unintialized variable by construction. It also simplifies its caller as a bonus. Signed-off-by: Akihiko Odaki Reviewed-by: Daniel Henrique Barboza Message-ID: <20251021-vlen-v2-1-1fb581d4c6bf@rsg.ci.i.u-tokyo.ac.jp> Signed-off-by: Alistair Francis --- diff --git a/target/riscv/tcg/tcg-cpu.c b/target/riscv/tcg/tcg-cpu.c index 1150bd14697..d3968251fad 100644 --- a/target/riscv/tcg/tcg-cpu.c +++ b/target/riscv/tcg/tcg-cpu.c @@ -426,6 +426,8 @@ static void riscv_cpu_validate_v(CPURISCVState *env, RISCVCPUConfig *cfg, min_vlen = 64; } else if (cfg->ext_zve32x) { min_vlen = 32; + } else { + return; } if (vlen > RV_VLEN_MAX || vlen < min_vlen) { @@ -676,12 +678,10 @@ void riscv_cpu_validate_set_extensions(RISCVCPU *cpu, Error **errp) return; } - if (cpu->cfg.ext_zve32x) { - riscv_cpu_validate_v(env, &cpu->cfg, &local_err); - if (local_err != NULL) { - error_propagate(errp, local_err); - return; - } + riscv_cpu_validate_v(env, &cpu->cfg, &local_err); + if (local_err != NULL) { + error_propagate(errp, local_err); + return; } /* The Zve64d extension depends on the Zve64f extension */