Ensuse self tests run for ML-DSA prehash signing

Change-Id: Ie84f406a24adc334578c7214baa283692033eca0
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/82967
Reviewed-by: David Benjamin <davidben@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Auto-Submit: Andrew Scull <ascull@google.com>
diff --git a/crypto/fipsmodule/mldsa/mldsa.cc.inc b/crypto/fipsmodule/mldsa/mldsa.cc.inc
index 00ed6bb..6904e59 100644
--- a/crypto/fipsmodule/mldsa/mldsa.cc.inc
+++ b/crypto/fipsmodule/mldsa/mldsa.cc.inc
@@ -1696,7 +1696,7 @@
 // FIPS 204, Algorithm 7 (`ML-DSA.Sign_internal`), using a pre-computed mu.
 // Returns 1 on success and 0 on failure.
 template <int K, int L>
-int mldsa_sign_mu(
+int mldsa_sign_mu_no_self_test(
     uint8_t out_encoded_signature[signature_bytes<K>()],
     const private_key<K, L> *priv, const uint8_t mu[kMuBytes],
     const uint8_t randomizer[BCM_MLDSA_SIGNATURE_RANDOMIZER_BYTES]) {
@@ -1833,6 +1833,18 @@
   }
 }
 
+// FIPS 204, Algorithm 7 (`ML-DSA.Sign_internal`), using a pre-computed mu.
+// Returns 1 on success and 0 on failure.
+template <int K, int L>
+int mldsa_sign_mu(
+    uint8_t out_encoded_signature[signature_bytes<K>()],
+    const private_key<K, L> *priv, const uint8_t mu[kMuBytes],
+    const uint8_t randomizer[BCM_MLDSA_SIGNATURE_RANDOMIZER_BYTES]) {
+  fips::ensure_sign_self_test();
+  return mldsa_sign_mu_no_self_test(out_encoded_signature, priv, mu,
+                                    randomizer);
+}
+
 // FIPS 204, Algorithm 7 (`ML-DSA.Sign_internal`). Returns 1 on success and 0
 // on failure.
 template <int K, int L>
@@ -1852,7 +1864,8 @@
   BORINGSSL_keccak_absorb(&keccak_ctx, msg, msg_len);
   BORINGSSL_keccak_squeeze(&keccak_ctx, mu, kMuBytes);
 
-  return mldsa_sign_mu(out_encoded_signature, priv, mu, randomizer);
+  return mldsa_sign_mu_no_self_test(out_encoded_signature, priv, mu,
+                                    randomizer);
 }
 
 // FIPS 204, Algorithm 7 (`ML-DSA.Sign_internal`). Returns 1 on success and 0