On Mon, Nov 17, 2025 at 04:01:39PM +0000, David Howells wrote: > Hi Herbert, > > I'm wondering from where I should invoke the FIPS tests for ML-DSA. > > Currently, the asymmetric key type has some FIPS selftests for RSA and ECDSA > built into it, but I wonder if that's the best way. The problem is that it > does the selftest during module init - but that can only test whatever > algorithms are built into the base kernel image and initialised at the time > late_initcall() happens. > > It might be better to put the tests into the algorithm modules themselves - > but that then has a potential circular dependency issue. However, that might > not matter as the asymmetric key type won't be built as a module and will be > built into the kernel (though some of the components such as X.509 and PKCS#7 > can be built as modules). > > If I don't involve X.509/PKCS#7 in the selftest, then doing it from the ML-DSA > modules during module init would be fine. > > Do you (or anyone else) have any thoughts?
The FIPS self-test should just go in the algorithm module itself and test ML-DSA directly. See the other lib/crypto/ FIPS self-tests. Please check the FIPS Implementation Guidance documentation to see what is needed; it isn't actually very much. - Eric
