|
27 | 27 | #error lkcapi_rsa_glue.c included in non-LINUXKM_LKCAPI_REGISTER project. |
28 | 28 | #endif |
29 | 29 |
|
| 30 | +#ifndef RHEL_RELEASE_VERSION |
| 31 | + #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) |
| 32 | +#endif |
| 33 | + |
30 | 34 | #if !defined(NO_RSA) |
31 | 35 | #if (defined(LINUXKM_LKCAPI_REGISTER_ALL) || \ |
32 | 36 | (defined(LINUXKM_LKCAPI_REGISTER_ALL_KCONFIG) && defined(CONFIG_CRYPTO_RSA))) && \ |
@@ -2347,6 +2351,14 @@ static int linuxkm_test_rsa_driver(const char * driver, int nbits) |
2347 | 2351 |
|
2348 | 2352 | memset(dec, 0, key_len); |
2349 | 2353 | ret = crypto_akcipher_decrypt(req); |
| 2354 | + #if defined(RHEL_RELEASE_CODE) && \ |
| 2355 | + (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 6)) |
| 2356 | + if (ret == -ENOSYS) { |
| 2357 | + pr_info("info: ignoring failure from crypto_akcipher_decrypt (disabled by RHEL policy)\n"); |
| 2358 | + test_rc = 0; |
| 2359 | + goto test_rsa_end; |
| 2360 | + } |
| 2361 | + #endif |
2350 | 2362 | if (ret) { |
2351 | 2363 | pr_err("error: crypto_akcipher_decrypt returned: %d\n", ret); |
2352 | 2364 | goto test_rsa_end; |
@@ -2721,6 +2733,14 @@ static int linuxkm_test_pkcs1pad_driver(const char * driver, int nbits, |
2721 | 2733 | akcipher_request_set_crypt(req, &src, &dst, hash_len, key_len); |
2722 | 2734 |
|
2723 | 2735 | ret = crypto_akcipher_sign(req); |
| 2736 | + #if defined(RHEL_RELEASE_CODE) && \ |
| 2737 | + (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 6)) |
| 2738 | + if (ret == -ENOSYS) { |
| 2739 | + pr_info("info: ignoring failure from crypto_akcipher_sign (disabled by RHEL policy)\n"); |
| 2740 | + test_rc = 0; |
| 2741 | + goto test_pkcs1_end; |
| 2742 | + } |
| 2743 | + #endif |
2724 | 2744 | if (ret) { |
2725 | 2745 | pr_err("error: crypto_akcipher_sign returned: %d\n", ret); |
2726 | 2746 | test_rc = BAD_FUNC_ARG; |
@@ -2847,6 +2867,14 @@ static int linuxkm_test_pkcs1pad_driver(const char * driver, int nbits, |
2847 | 2867 | } |
2848 | 2868 |
|
2849 | 2869 | ret = crypto_akcipher_decrypt(req); |
| 2870 | + #if defined(RHEL_RELEASE_CODE) && \ |
| 2871 | + (RHEL_RELEASE_CODE >= RHEL_RELEASE_VERSION(9, 6)) |
| 2872 | + if (ret == -ENOSYS) { |
| 2873 | + pr_info("info: ignoring failure from crypto_akcipher_decrypt (disabled by RHEL policy)\n"); |
| 2874 | + test_rc = 0; |
| 2875 | + goto test_pkcs1_end; |
| 2876 | + } |
| 2877 | + #endif |
2850 | 2878 | if (ret) { |
2851 | 2879 | pr_err("error: crypto_akcipher_decrypt returned: %d\n", ret); |
2852 | 2880 | test_rc = BAD_FUNC_ARG; |
|
0 commit comments