crypto: testmgr - WARN on test failure
Subsystems (2)
PATCH 1/1 crypto: testmgr - WARN on test failure
From: Eric Biggers <[email protected]>
Currently, by default crypto self-test failures only result in a pr_warn() message and an "unknown" status in /proc/crypto. Both of these are easy to miss. There is also an option to panic the kernel when a test fails, but that can't be the default behavior.
A crypto self-test failure always indicates a kernel bug, however, and there's already a standard way to report (recoverable) kernel bugs -- the WARN() family of macros. WARNs are noisier and harder to miss, and existing test systems already know to look for them in dmesg or via /proc/sys/kernel/tainted.
Therefore, call WARN() when an algorithm fails its self-tests.
--- crypto/testmgr.c | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-)
crypto/testmgr.c +13 -7
@@ -5677,15 +5677,21 @@ int alg_test(const char *driver, const char *alg, u32 type, u32 mask) type, mask); test_done: -if (rc && (fips_enabled || panic_on_fail)) { -fips_fail_notify (); -panic ("alg: self-tests for %s (%s) failed in %s mode!\n" , - driver, alg, fips_enabled ?"fips" :"panic_on_fail" ); +if (rc) { +if (fips_enabled || panic_on_fail) { +fips_fail_notify (); +panic ("alg: self-tests for %s (%s) failed in %s mode!\n" , + driver, alg, + fips_enabled ?"fips" :"panic_on_fail" ); + } +WARN (1 ,"alg: self-tests for %s (%s) failed (rc=%d)" , + driver, alg, rc); + }else { +if (fips_enabled) +pr_info ("alg: self-tests for %s (%s) passed\n" , + driver, alg); } -if (fips_enabled && !rc) -pr_info ("alg: self-tests for %s (%s) passed\n" , driver, alg); -return rc; notest:
base-commit: 3650b228f83adda7e5ee532e2b90429c03f7b9ec
Signature · 1 line
2.29.1
Herbert Xu
maintainerQuoted 13 lines · Eric Biggers
From: Eric Biggers <[email protected]>
Currently, by default crypto self-test failures only result in a
pr_warn()message and an "unknown" status in/proc/crypto. Both of these are easy to miss. There is also an option to panic the kernel when a test fails, but that can't be the default behavior.A crypto self-test failure always indicates a kernel bug, however, and there's already a standard way to report (recoverable) kernel bugs -- the
WARN()family of macros. WARNs are noisier and harder to miss, and existing test systems already know to look for them in dmesg or via/proc/sys/kernel/tainted.
Quoted 6 lines
Therefore, call
WARN()when an algorithm fails its self-tests.Signed-off-by Eric Biggers <[email protected]>---
crypto/testmgr.c| 20 +++++++++++++-------1 file changed, 13 insertions(+), 7 deletions(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt