Commit f34f715d03 for openssl.org

commit f34f715d03d52face2307dc2c4333c45cd59ef04
Author: Christoph Müllner <christoph.muellner@vrull.eu>
Date:   Tue Apr 7 21:28:47 2026 +0200

    riscv: fix IS_IN_DEPEND_VECTOR range check

    The macro checked (ZVX_MIN >= offset) which is equivalent to
    (offset <= ZVX_MIN), making it true for offsets 0-15 instead of
    the intended range [ZVX_MIN, ZVX_MAX] = [15, 23].

    The practical effect in hwprobe_to_cap() was inverted:
    - Scalar extensions (ZBA..ZKT, offsets 0-14) were incorrectly
      treated as vector-dependent and suppressed when VECTOR_CAPABLE
      was false, preventing their detection via hwprobe.
    - Vector extensions ZVBC..ZVKSH (offsets 16-23) were not treated
      as vector-dependent, allowing them to be enabled via hwprobe
      even when the V extension was absent.

    Fix by changing >= to <= so the macro correctly tests whether
    offset falls in [ZVX_MIN, ZVX_MAX].

    Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>

    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    Reviewed-by: Tomas Mraz <tomas@openssl.foundation>
    MergeDate: Thu Apr 16 17:03:40 2026
    (Merged from https://github.com/openssl/openssl/pull/30713)

diff --git a/include/crypto/riscv_arch.h b/include/crypto/riscv_arch.h
index 9894b714d7..347b9df74f 100644
--- a/include/crypto/riscv_arch.h
+++ b/include/crypto/riscv_arch.h
@@ -27,7 +27,7 @@ extern unsigned int OPENSSL_riscv_hwcap_P;
 #define VECTOR_CAPABLE (OPENSSL_riscv_hwcap_P & COMPAT_HWCAP_ISA_V)
 #define ZVX_MIN 15
 #define ZVX_MAX 23
-#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN >= offset) && (offset <= ZVX_MAX))
+#define IS_IN_DEPEND_VECTOR(offset) ((ZVX_MIN <= offset) && (offset <= ZVX_MAX))
 #endif
 #endif
 #endif