Test-Label: iol-testing Test-Status: WARNING http://dpdk.org/patch/116946 _apply patch failure_ Submitter: Gowrishankar Muthukrishnan Date: Tuesday, September 27 2022 07:30:43 Applied on: CommitID:b9b509246da274cfea47311792ba8400c179c24b Apply patch set 116946-116947 failed: Checking patch doc/guides/sample_app_ug/fips_validation.rst... error: while searching for: * TDES-CBC - AFT, MCT * TDES-ECB - AFT, MCT * RSA Application Information error: patch failed: doc/guides/sample_app_ug/fips_validation.rst:67 Checking patch examples/fips_validation/fips_validation.c... error: while searching for: info.algo = FIPS_TEST_ALGO_TDES; else if (strstr(algo_str, "RSA")) info.algo = FIPS_TEST_ALGO_RSA; else return -EINVAL; error: patch failed: examples/fips_validation/fips_validation.c:473 Checking patch examples/fips_validation/fips_validation.h... error: while searching for: FIPS_TEST_ALGO_TDES, FIPS_TEST_ALGO_SHA, FIPS_TEST_ALGO_RSA, FIPS_TEST_ALGO_MAX }; error: patch failed: examples/fips_validation/fips_validation.h:43 error: while searching for: struct fips_val dq; struct fips_val qinv; } rsa; struct fips_val pt; struct fips_val ct; error: patch failed: examples/fips_validation/fips_validation.h:94 error: while searching for: RSA_KAT }; struct aesavs_interim_data { enum fips_aesavs_test_types test_type; uint32_t cipher_algo; error: patch failed: examples/fips_validation/fips_validation.h:159 error: while searching for: uint8_t random_msg; }; #ifdef USE_JANSSON /* * Maximum length of buffer to hold any json string. error: patch failed: examples/fips_validation/fips_validation.h:213 error: while searching for: struct gcm_interim_data gcm_data; struct xts_interim_data xts_data; struct rsa_interim_data rsa_data; } interim_info; enum fips_test_op op; error: patch failed: examples/fips_validation/fips_validation.h:259 error: while searching for: const struct fips_test_callback *writeback_callbacks; post_prcess_t parse_interim_writeback; post_prcess_t parse_writeback; post_prcess_t kat_check; }; error: patch failed: examples/fips_validation/fips_validation.h:268 error: while searching for: int parse_test_rsa_json_init(void); int fips_test_randomize_message(struct fips_val *msg, struct fips_val *rand); #endif /* USE_JANSSON */ error: patch failed: examples/fips_validation/fips_validation.h:338 Checking patch examples/fips_validation/fips_validation_ecdsa.c... Checking patch examples/fips_validation/main.c... Hunk #1 succeeded at 763 (offset -214 lines). Hunk #2 succeeded at 1243 (offset -295 lines). error: while searching for: struct rte_crypto_op *deqd_op; int ret; if (info.op == FIPS_TEST_ASYM_KEYGEN) { RTE_SET_USED(asym); ret = 0; goto exit; error: patch failed: examples/fips_validation/main.c:1546 error: while searching for: } env.op = env.asym.op; return fips_run_asym_test(); } static int error: patch failed: examples/fips_validation/main.c:1606 error: while searching for: test_ops.prepare_asym_xform = prepare_rsa_xform; test_ops.test = fips_generic_test; break; default: if (strstr(info.file_name, "TECB") || strstr(info.file_name, "TCBC")) { error: patch failed: examples/fips_validation/main.c:2235 error: while searching for: case FIPS_TEST_ALGO_RSA: ret = parse_test_rsa_json_init(); break; default: return -EINVAL; } error: patch failed: examples/fips_validation/main.c:2409 Hunk #7 succeeded at 2204 (offset -435 lines). Hunk #8 succeeded at 2223 (offset -435 lines). Checking patch examples/fips_validation/meson.build... error: while searching for: 'fips_validation_sha.c', 'fips_validation_xts.c', 'fips_validation_rsa.c', 'fips_dev_self_test.c', 'main.c', ) error: patch failed: examples/fips_validation/meson.build:19 Applying patch doc/guides/sample_app_ug/fips_validation.rst with 1 reject... Rejected hunk #1. Applying patch examples/fips_validation/fips_validation.c with 1 reject... Rejected hunk #1. Applying patch examples/fips_validation/fips_validation.h with 7 rejects... Rejected hunk #1. Rejected hunk #2. Rejected hunk #3. Rejected hunk #4. Rejected hunk #5. Rejected hunk #6. Rejected hunk #7. Applied patch examples/fips_validation/fips_validation_ecdsa.c cleanly. Applying patch examples/fips_validation/main.c with 4 rejects... Hunk #1 applied cleanly. Hunk #2 applied cleanly. Rejected hunk #3. Rejected hunk #4. Rejected hunk #5. Rejected hunk #6. Hunk #7 applied cleanly. Hunk #8 applied cleanly. Applying patch examples/fips_validation/meson.build with 1 reject... Rejected hunk #1. diff a/doc/guides/sample_app_ug/fips_validation.rst b/doc/guides/sample_app_ug/fips_validation.rst (rejected hunks) @@ -67,6 +67,7 @@ ACVP * TDES-CBC - AFT, MCT * TDES-ECB - AFT, MCT * RSA + * ECDSA Application Information diff a/examples/fips_validation/fips_validation.c b/examples/fips_validation/fips_validation.c (rejected hunks) @@ -473,6 +473,8 @@ fips_test_parse_one_json_vector_set(void) info.algo = FIPS_TEST_ALGO_TDES; else if (strstr(algo_str, "RSA")) info.algo = FIPS_TEST_ALGO_RSA; + else if (strstr(algo_str, "ECDSA")) + info.algo = FIPS_TEST_ALGO_ECDSA; else return -EINVAL; diff a/examples/fips_validation/fips_validation.h b/examples/fips_validation/fips_validation.h (rejected hunks) @@ -43,6 +43,7 @@ enum fips_test_algorithms { FIPS_TEST_ALGO_TDES, FIPS_TEST_ALGO_SHA, FIPS_TEST_ALGO_RSA, + FIPS_TEST_ALGO_ECDSA, FIPS_TEST_ALGO_MAX }; @@ -94,6 +95,15 @@ struct fips_test_vector { struct fips_val dq; struct fips_val qinv; } rsa; + struct { + struct fips_val seed; + struct fips_val pkey; + struct fips_val qx; + struct fips_val qy; + struct fips_val r; + struct fips_val s; + struct fips_val k; + } ecdsa; struct fips_val pt; struct fips_val ct; @@ -159,6 +169,10 @@ enum fips_rsa_test_types { RSA_KAT }; +enum fips_ecdsa_test_types { + ECDSA_AFT = 0, +}; + struct aesavs_interim_data { enum fips_aesavs_test_types test_type; uint32_t cipher_algo; @@ -213,6 +227,14 @@ struct rsa_interim_data { uint8_t random_msg; }; +struct ecdsa_interim_data { + enum rte_crypto_auth_algorithm auth; + enum rte_crypto_curve_id curve_id; + u_int8_t curve_len; + uint8_t random_msg; + uint8_t pubkey_gen; +}; + #ifdef USE_JANSSON /* * Maximum length of buffer to hold any json string. @@ -259,6 +281,7 @@ struct fips_test_interim_info { struct gcm_interim_data gcm_data; struct xts_interim_data xts_data; struct rsa_interim_data rsa_data; + struct ecdsa_interim_data ecdsa_data; } interim_info; enum fips_test_op op; @@ -268,6 +291,7 @@ struct fips_test_interim_info { const struct fips_test_callback *writeback_callbacks; post_prcess_t parse_interim_writeback; + post_prcess_t post_interim_writeback; post_prcess_t parse_writeback; post_prcess_t kat_check; }; @@ -338,6 +362,9 @@ parse_test_tdes_json_init(void); int parse_test_rsa_json_init(void); +int +parse_test_ecdsa_json_init(void); + int fips_test_randomize_message(struct fips_val *msg, struct fips_val *rand); #endif /* USE_JANSSON */ diff a/examples/fips_validation/main.c b/examples/fips_validation/main.c (rejected hunks) @@ -1546,7 +1706,7 @@ fips_run_asym_test(void) struct rte_crypto_op *deqd_op; int ret; - if (info.op == FIPS_TEST_ASYM_KEYGEN) { + if (info.op == FIPS_TEST_ASYM_KEYGEN && info.algo != FIPS_TEST_ALGO_ECDSA) { RTE_SET_USED(asym); ret = 0; goto exit; @@ -1606,7 +1766,33 @@ fips_run_test(void) } env.op = env.asym.op; - return fips_run_asym_test(); + if (info.op == FIPS_TEST_ASYM_SIGGEN && + info.algo == FIPS_TEST_ALGO_ECDSA && + info.interim_info.ecdsa_data.pubkey_gen == 1) { + fips_prepare_asym_xform_t ecdsa_xform; + fips_prepare_op_t ecdsa_op; + + ecdsa_xform = test_ops.prepare_asym_xform; + ecdsa_op = test_ops.prepare_asym_op; + info.op = FIPS_TEST_ASYM_KEYGEN; + test_ops.prepare_asym_xform = prepare_ecfpm_xform; + test_ops.prepare_asym_op = prepare_ecfpm_op; + ret = fips_run_asym_test(); + if (ret < 0) + return ret; + + info.post_interim_writeback(NULL); + info.interim_info.ecdsa_data.pubkey_gen = 0; + + test_ops.prepare_asym_xform = ecdsa_xform; + test_ops.prepare_asym_op = ecdsa_op; + info.op = FIPS_TEST_ASYM_SIGGEN; + ret = fips_run_asym_test(); + } else { + ret = fips_run_asym_test(); + } + + return ret; } static int @@ -2235,6 +2421,17 @@ init_test_ops(void) test_ops.prepare_asym_xform = prepare_rsa_xform; test_ops.test = fips_generic_test; break; + case FIPS_TEST_ALGO_ECDSA: + if (info.op == FIPS_TEST_ASYM_KEYGEN) { + test_ops.prepare_asym_op = prepare_ecfpm_op; + test_ops.prepare_asym_xform = prepare_ecfpm_xform; + test_ops.test = fips_generic_test; + } else { + test_ops.prepare_asym_op = prepare_ecdsa_op; + test_ops.prepare_asym_xform = prepare_ecdsa_xform; + test_ops.test = fips_generic_test; + } + break; default: if (strstr(info.file_name, "TECB") || strstr(info.file_name, "TCBC")) { @@ -2409,6 +2606,9 @@ fips_test_one_test_group(void) case FIPS_TEST_ALGO_RSA: ret = parse_test_rsa_json_init(); break; + case FIPS_TEST_ALGO_ECDSA: + ret = parse_test_ecdsa_json_init(); + break; default: return -EINVAL; } diff a/examples/fips_validation/meson.build b/examples/fips_validation/meson.build (rejected hunks) @@ -19,6 +19,7 @@ sources = files( 'fips_validation_sha.c', 'fips_validation_xts.c', 'fips_validation_rsa.c', + 'fips_validation_ecdsa.c', 'fips_dev_self_test.c', 'main.c', ) https://lab.dpdk.org/results/dashboard/patchsets/23655/ UNH-IOL DPDK Community Lab