diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2022-06-21 12:13:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2022-06-21 12:13:53 -0500 |
commit | 86e37249b5ca705585e43e7259fd6f123b5ee600 (patch) | |
tree | 175f3a61b93fd0ea61a1f43c22733faf9dff0b52 /crypto/asymmetric_keys/x509_parser.h | |
parent | c63768861c255773e21b4de4e277b5badaac300b (diff) | |
parent | 041ec6e33d4823d79d56bf5f003ec0f42a7bff92 (diff) | |
download | linux-crypto-86e37249b5ca705585e43e7259fd6f123b5ee600.tar.gz linux-crypto-86e37249b5ca705585e43e7259fd6f123b5ee600.zip |
Merge tag 'certs-20220621' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
Pull signature checking selftest from David Howells:
"The signature checking code, as used by module signing, kexec, etc.,
is non-FIPS compliant as there is no selftest.
For a kernel to be FIPS-compliant, signature checking would have to be
tested before being used, and the box would need to panic if it's not
available (probably reasonable as simply disabling signature checking
would prevent you from loading any driver modules).
Deal with this by adding a minimal test.
This is split into two patches: the first moves load_certificate_list()
to the same place as the X.509 code to make it more accessible
internally; the second adds a selftest"
* tag 'certs-20220621' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs:
certs: Add FIPS selftests
certs: Move load_certificate_list() to be with the asymmetric keys code
Diffstat (limited to 'crypto/asymmetric_keys/x509_parser.h')
-rw-r--r-- | crypto/asymmetric_keys/x509_parser.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/crypto/asymmetric_keys/x509_parser.h b/crypto/asymmetric_keys/x509_parser.h index 97a886cb..a299c9c5 100644 --- a/crypto/asymmetric_keys/x509_parser.h +++ b/crypto/asymmetric_keys/x509_parser.h @@ -41,6 +41,15 @@ struct x509_certificate { }; /* + * selftest.c + */ +#ifdef CONFIG_FIPS_SIGNATURE_SELFTEST +extern int __init fips_signature_selftest(void); +#else +static inline int fips_signature_selftest(void) { return 0; } +#endif + +/* * x509_cert_parser.c */ extern void x509_free_certificate(struct x509_certificate *cert); |