• Home
  • Raw
  • Download

Lines Matching +full:static +full:- +full:extend

2  * Use of this source code is governed by a BSD-style license that can be
20 static uint8_t workbuf[VB2_WORKBUF_RECOMMENDED_SIZE]
22 static struct vb2_context cc;
23 static struct vb2_shared_data *sd;
33 static enum {
39 static int retval_vb2_load_fw_keyblock;
40 static int retval_vb2_load_fw_preamble;
41 static int retval_vb2_digest_finalize;
42 static int retval_vb2_verify_digest;
51 static void reset_common_data(enum reset_type t) in reset_common_data()
75 sd->workbuf_preamble_offset = cc.workbuf_used; in reset_common_data()
76 sd->workbuf_preamble_size = sizeof(*pre); in reset_common_data()
77 cc.workbuf_used = sd->workbuf_preamble_offset in reset_common_data()
78 + sd->workbuf_preamble_size; in reset_common_data()
80 (cc.workbuf + sd->workbuf_preamble_offset); in reset_common_data()
81 pre->body_signature.data_size = mock_body_size; in reset_common_data()
82 pre->body_signature.sig_size = mock_sig_size; in reset_common_data()
84 pre->flags = VB2_FIRMWARE_PREAMBLE_DISALLOW_HWCRYPTO; in reset_common_data()
86 pre->flags = 0; in reset_common_data()
88 sd->workbuf_data_key_offset = cc.workbuf_used; in reset_common_data()
89 sd->workbuf_data_key_size = sizeof(*k) + 8; in reset_common_data()
90 cc.workbuf_used = sd->workbuf_data_key_offset + in reset_common_data()
91 sd->workbuf_data_key_size; in reset_common_data()
93 (cc.workbuf + sd->workbuf_data_key_offset); in reset_common_data()
94 k->algorithm = mock_algorithm; in reset_common_data()
124 key->sig_alg = vb2_crypto_to_signature(k->algorithm); in vb2_unpack_key()
125 key->hash_alg = vb2_crypto_to_hash(k->algorithm); in vb2_unpack_key()
173 dc->hash_alg = hash_alg; in vb2_digest_init()
174 dc->using_hwcrypto = 0; in vb2_digest_init()
185 if (dc->hash_alg != mock_hash_alg) in vb2_digest_extend()
215 static void phase3_tests(void) in phase3_tests()
233 static void init_hash_tests(void) in init_hash_tests()
244 TEST_EQ(sd->workbuf_hash_offset, in init_hash_tests()
245 (wb_used_before + (VB2_WORKBUF_ALIGN - 1)) & in init_hash_tests()
246 ~(VB2_WORKBUF_ALIGN - 1), in init_hash_tests()
248 TEST_EQ(sd->workbuf_hash_size, sizeof(struct vb2_digest_context), in init_hash_tests()
251 sd->workbuf_hash_offset + sd->workbuf_hash_size, in init_hash_tests()
253 TEST_EQ(sd->hash_tag, VB2_HASH_TAG_FW_BODY, "hash tag"); in init_hash_tests()
254 TEST_EQ(sd->hash_remaining_size, mock_body_size, "hash remaining"); in init_hash_tests()
266 sd->workbuf_preamble_size = 0; in init_hash_tests()
276 cc.workbuf_size - sizeof(struct vb2_digest_context) + 8; in init_hash_tests()
281 sd->workbuf_data_key_size = 0; in init_hash_tests()
286 sd->workbuf_data_key_size--; in init_hash_tests()
291 k = (struct vb2_packed_key *)(cc.workbuf + sd->workbuf_data_key_offset); in init_hash_tests()
292 k->algorithm--; in init_hash_tests()
297 static void extend_hash_tests(void) in extend_hash_tests()
303 "hash extend good"); in extend_hash_tests()
304 TEST_EQ(sd->hash_remaining_size, mock_body_size - 32, in extend_hash_tests()
305 "hash extend remaining"); in extend_hash_tests()
306 TEST_SUCC(vb2api_extend_hash(&cc, mock_body, mock_body_size - 32), in extend_hash_tests()
307 "hash extend again"); in extend_hash_tests()
308 TEST_EQ(sd->hash_remaining_size, 0, "hash extend remaining 2"); in extend_hash_tests()
311 sd->workbuf_hash_size = 0; in extend_hash_tests()
313 VB2_ERROR_API_EXTEND_HASH_WORKBUF, "hash extend no workbuf"); in extend_hash_tests()
317 VB2_ERROR_API_EXTEND_HASH_SIZE, "hash extend too much"); in extend_hash_tests()
321 VB2_ERROR_API_EXTEND_HASH_SIZE, "hash extend empty"); in extend_hash_tests()
326 (cc.workbuf + sd->workbuf_hash_offset); in extend_hash_tests()
327 dc->hash_alg = mock_hash_alg + 1; in extend_hash_tests()
329 VB2_ERROR_SHA_EXTEND_ALGORITHM, "hash extend fail"); in extend_hash_tests()
333 static void check_hash_tests(void) in check_hash_tests()
341 sd->workbuf_preamble_size = 0; in check_hash_tests()
346 sd->workbuf_hash_size = 0; in check_hash_tests()
351 sd->hash_remaining_size = 1; in check_hash_tests()
365 sd->hash_tag = VB2_HASH_TAG_INVALID; in check_hash_tests()
370 sd->workbuf_data_key_size = 0; in check_hash_tests()
375 sd->workbuf_data_key_size--; in check_hash_tests()
381 (cc.workbuf + sd->workbuf_preamble_offset); in check_hash_tests()
382 pre->body_signature.sig_size++; in check_hash_tests()