Fuzz introspector: key_exchange_req
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
530 0 EP call site: 00000 fuzz_send_receive_spdm_key_exchange

Fuzzer calltree

0 fuzz_target [function] [call site] 00000
1 fuzz_send_receive_spdm_key_exchange [function] [call site] 00001
2 spdmlib::secret::asym_sign::register [function] [call site] 00002
2 BytesMutStrubbed::clone [function] [call site] 00005
3 BytesMutStrubbed::clone [function] [call site] 00006
2 spdmlib::secret::pqc_asym_sign::register [function] [call site] 00007
2 BytesMutStrubbed::clone [function] [call site] 00010
2 spdmlib::secret::measurement::register [function] [call site] 00011
2 BytesMutStrubbed::clone [function] [call site] 00014
2 spdmlib::crypto::asym_verify::register [function] [call site] 00015
3 try_get_or_init [function] [call site] 00016
2 BytesMutStrubbed::clone [function] [call site] 00018
2 spdmlib::crypto::pqc_asym_verify::register [function] [call site] 00019
3 try_get_or_init [function] [call site] 00020
2 BytesMutStrubbed::clone [function] [call site] 00022
2 spdmlib::crypto::hkdf::register [function] [call site] 00023
2 BytesMutStrubbed::clone [function] [call site] 00026
2 req_create_info [function] [call site] 00027
3 SecuredMessageVersion::try_from [function] [call site] 00034
3 Result::unwrap [function] [call site] 00036
3 SecuredMessageVersion::try_from [function] [call site] 00038
3 Result::unwrap [function] [call site] 00039
3 SecuredMessageVersion::try_from [function] [call site] 00041
3 Result::unwrap [function] [call site] 00042
3 TdiState::default [function] [call site] 00043
3 TdiState::default [function] [call site] 00044
3 get_test_key_directory [function] [call site] 00045
3 PathBuf::join [function] [call site] 00053
3 PathBuf::join [function] [call site] 00054
3 std::fs::read [function] [call site] 00055
4 u32::read [function] [call site] 00056
5 Reader::take [function] [call site] 00057
6 Reader::left [function] [call site] 00058
7 BytesMutStrubbed::len [function] [call site] 00059
8 BytesMutStrubbed::len [function] [call site] 00060
5 Option::and_then [function] [call site] 00062
4 u32::read [function] [call site] 00063
4 u32::read [function] [call site] 00064
3 Option::expect [function] [call site] 00066
3 PathBuf::join [function] [call site] 00067
3 PathBuf::join [function] [call site] 00068
3 std::fs::read [function] [call site] 00069
3 Option::expect [function] [call site] 00070
3 PathBuf::join [function] [call site] 00071
3 PathBuf::join [function] [call site] 00072
3 std::fs::read [function] [call site] 00073
3 Option::expect [function] [call site] 00074
3 BytesMutStrubbed::len [function] [call site] 00075
3 BytesMutStrubbed::len [function] [call site] 00076
3 BytesMutStrubbed::len [function] [call site] 00077
3 copy_from_slice [function] [call site] 00078
3 BytesMutStrubbed::as_ref [function] [call site] 00079
4 BytesMutStrubbed::as_ref [function] [call site] 00080
3 gen_array_clone [function] [call site] 00081
4 SocketIoTransport::new [function] [call site] 00082
4 Writer::push [function] [call site] 00083
5 Writer::left [function] [call site] 00084
6 BytesMutStrubbed::len [function] [call site] 00085
4 BytesMutStrubbed::clone [function] [call site] 00087
5 BytesMutStrubbed::clone [function] [call site] 00088
4 Writer::push [function] [call site] 00089
4 Result::unwrap_or_else [function] [call site] 00109
3 spdmlib::secret::asym_sign::register [function] [call site] 00111
3 BytesMutStrubbed::clone [function] [call site] 00112
3 spdmlib::secret::pqc_asym_sign::register [function] [call site] 00113
3 BytesMutStrubbed::clone [function] [call site] 00114
3 TdiState::default [function] [call site] 00115
3 copy_from_slice [function] [call site] 00116
3 BytesMutStrubbed::as_ref [function] [call site] 00117
3 copy_from_slice [function] [call site] 00118
3 BytesMutStrubbed::as_ref [function] [call site] 00119
3 copy_from_slice [function] [call site] 00120
3 BytesMutStrubbed::as_ref [function] [call site] 00121
3 BytesMutStrubbed::is_empty [function] [call site] 00126
4 BytesMutStrubbed::is_empty [function] [call site] 00127
5 BytesMutStrubbed::is_empty [function] [call site] 00128
3 TdiState::default [function] [call site] 00129
2 SharedBuffer::new [function] [call site] 00130
3 SocketIoTransport::new [function] [call site] 00131
3 SocketIoTransport::new [function] [call site] 00132
3 VecDeque::<u8>::new [function] [call site] 00133
2 SocketIoTransport::new [function] [call site] 00134
2 SocketIoTransport::new [function] [call site] 00135
2 fake_device_io::FakeSpdmDeviceIo::new [function] [call site] 00136
2 SocketIoTransport::new [function] [call site] 00137
2 FakeSpdmDeviceIo::set_rx [function] [call site] 00138
3 SharedBuffer::set_buffer_ref [function] [call site] 00139
4 StaticMutex::lock [function] [call site] 00140
5 BytesMutStrubbed::as_mut [function] [call site] 00141
6 BytesMutStrubbed::as_mut [function] [call site] 00142
7 BytesMutStrubbed::as_mut [function] [call site] 00143
5 &mut [call site] 00144
5 BytesMutStrubbed::as_mut [function] [call site] 00145
5 StaticMutex::lock [function] [call site] 00146
4 BytesMutStrubbed::deref_mut [function] [call site] 00147
5 BytesMutStrubbed::deref_mut [function] [call site] 00148
4 push_back [function] [call site] 00149
3 SocketIoTransport::new [function] [call site] 00150
2 SocketIoTransport::new [function] [call site] 00151
2 SocketIoTransport::new [function] [call site] 00152
2 requester::RequesterContext::new [function] [call site] 00153
3 common::SpdmContext::new [function] [call site] 00154
4 TdiState::default [function] [call site] 00155
4 TdiState::default [function] [call site] 00156
4 TdiState::default [function] [call site] 00157
4 TdiState::default [function] [call site] 00158
4 gen_array [function] [call site] 00159
5 SocketIoTransport::new [function] [call site] 00160
5 Writer::push [function] [call site] 00161
5 TdiState::default [function] [call site] 00162
5 StatusCode::try_into [function] [call site] 00163
5 Result::unwrap_or_else [function] [call site] 00164
4 SpdmChunkContext::default [function] [call site] 00165
2 get_rsp_cert_chain_buff [function] [call site] 00167
3 crypto::cert_operation::get_cert_from_cert_chain [function] [call site] 00168
4 try_get_or_init [function] [call site] 00169
4 BytesMutStrubbed::clone [function] [call site] 00170
3 SpdmResult::expect [function] [call site] 00172
3 crypto::hash::hash_all [function] [call site] 00173
4 try_get_or_init [function] [call site] 00174
4 BytesMutStrubbed::clone [function] [call site] 00175
4 tests::one_ok [function] [call site] 00176
5 ResponderRunner::run [function] [call site] 00177
6 spdmlib::crypto::aead::register [function] [call site] 00178
6 BytesMutStrubbed::clone [function] [call site] 00181
6 spdmlib::crypto::rand::register [function] [call site] 00182
6 BytesMutStrubbed::clone [function] [call site] 00185
6 spdmlib::crypto::asym_verify::register [function] [call site] 00186
6 BytesMutStrubbed::clone [function] [call site] 00187
6 spdmlib::crypto::pqc_asym_verify::register [function] [call site] 00188
6 BytesMutStrubbed::clone [function] [call site] 00189
6 spdmlib::secret::asym_sign::register [function] [call site] 00190
6 BytesMutStrubbed::clone [function] [call site] 00191
6 spdmlib::secret::pqc_asym_sign::register [function] [call site] 00192
6 BytesMutStrubbed::clone [function] [call site] 00193
6 SocketIoTransport::new [function] [call site] 00194
6 SocketIoTransport::new [function] [call site] 00195
6 VecDeque::<u8>::new [function] [call site] 00196
6 SocketIoTransport::new [function] [call site] 00197
6 SocketIoTransport::new [function] [call site] 00198
6 TestCase::input_to_vec [function] [call site] 00199
7 SocketIoTransport::new [function] [call site] 00200
7 Writer::init [function] [call site] 00201
7 BytesMutStrubbed::extend [function] [call site] 00209
8 BytesMutStrubbed::extend [function] [call site] 00210
9 BytesMutStrubbed::extend [function] [call site] 00211
7 BytesMutStrubbed::into_iter [function] [call site] 00212
8 SocketIoTransport::new [function] [call site] 00213
6 BytesMutStrubbed::clone [function] [call site] 00214
7 BytesMutStrubbed::clone [function] [call site] 00215
6 TestSpdmDeviceIo::new [function] [call site] 00216
6 TestCase::config [function] [call site] 00217
7 create_info [function] [call site] 00218
8 SecuredMessageVersion::try_from [function] [call site] 00225
8 Result::unwrap [function] [call site] 00226
8 SecuredMessageVersion::try_from [function] [call site] 00228
8 Result::unwrap [function] [call site] 00229
8 SecuredMessageVersion::try_from [function] [call site] 00231
8 Result::unwrap [function] [call site] 00232
8 TdiState::default [function] [call site] 00233
8 TdiState::default [function] [call site] 00234
8 TdiState::default [function] [call site] 00235
8 get_test_key_directory [function] [call site] 00236
8 PathBuf::join [function] [call site] 00237
8 std::fs::read [function] [call site] 00238
8 Option::expect [function] [call site] 00239
8 PathBuf::join [function] [call site] 00240
8 std::fs::read [function] [call site] 00241
8 Option::expect [function] [call site] 00242
8 PathBuf::join [function] [call site] 00243
8 std::fs::read [function] [call site] 00244
8 Option::expect [function] [call site] 00245
8 BytesMutStrubbed::len [function] [call site] 00246
8 BytesMutStrubbed::len [function] [call site] 00247
8 BytesMutStrubbed::len [function] [call site] 00248
8 copy_from_slice [function] [call site] 00249
8 BytesMutStrubbed::as_ref [function] [call site] 00250
8 copy_from_slice [function] [call site] 00251
8 BytesMutStrubbed::as_ref [function] [call site] 00252
8 copy_from_slice [function] [call site] 00253
8 BytesMutStrubbed::as_ref [function] [call site] 00254
8 copy_from_slice [function] [call site] 00255
8 BytesMutStrubbed::as_ref [function] [call site] 00256
8 gen_array_clone [function] [call site] 00257
8 BytesMutStrubbed::is_empty [function] [call site] 00263
6 responder::ResponderContext::new [function] [call site] 00264
7 crate::common::SpdmContext::new [function] [call site] 00265
8 TdiState::default [function] [call site] 00266
8 TdiState::default [function] [call site] 00267
8 TdiState::default [function] [call site] 00268
8 TdiState::default [function] [call site] 00269
8 gen_array [function] [call site] 00270
8 SpdmChunkContext::default [function] [call site] 00271
6 SocketIoTransport::new [function] [call site] 00272
6 SocketIoTransport::new [function] [call site] 00273
6 SocketIoTransport::new [function] [call site] 00274
6 SocketIoTransport::new [function] [call site] 00275
6 SpdmContext::process_message [function] [call site] 00276
7 Writer::init [function] [call site] 00277
7 common::util::create_info [function] [call site] 00278
8 SecuredMessageVersion::try_from [function] [call site] 00285
8 Result::unwrap [function] [call site] 00286
8 SecuredMessageVersion::try_from [function] [call site] 00288
8 Result::unwrap [function] [call site] 00289
8 SecuredMessageVersion::try_from [function] [call site] 00291
8 Result::unwrap [function] [call site] 00292
8 TdiState::default [function] [call site] 00293
8 TdiState::default [function] [call site] 00294
8 TdiState::default [function] [call site] 00295
8 get_test_key_directory [function] [call site] 00296
8 PathBuf::join [function] [call site] 00297
8 std::fs::read [function] [call site] 00298
8 Option::expect [function] [call site] 00299
8 PathBuf::join [function] [call site] 00300
8 std::fs::read [function] [call site] 00301
8 Option::expect [function] [call site] 00302
8 PathBuf::join [function] [call site] 00303
8 std::fs::read [function] [call site] 00304
8 Option::expect [function] [call site] 00305
8 BytesMutStrubbed::len [function] [call site] 00306
8 BytesMutStrubbed::len [function] [call site] 00307
8 BytesMutStrubbed::len [function] [call site] 00308
8 copy_from_slice [function] [call site] 00309
8 BytesMutStrubbed::as_ref [function] [call site] 00310
8 copy_from_slice [function] [call site] 00311
8 BytesMutStrubbed::as_ref [function] [call site] 00312
8 copy_from_slice [function] [call site] 00313
8 BytesMutStrubbed::as_ref [function] [call site] 00314
8 copy_from_slice [function] [call site] 00315
8 BytesMutStrubbed::as_ref [function] [call site] 00316
8 gen_array_clone [function] [call site] 00317
8 BytesMutStrubbed::is_empty [function] [call site] 00323
7 SharedBuffer::new [function] [call site] 00324
7 SharedBuffer::set_buffer [function] [call site] 00325
8 StaticMutex::lock [function] [call site] 00326
8 BytesMutStrubbed::deref_mut [function] [call site] 00327
8 push_back [function] [call site] 00328
7 FakeSpdmDeviceIoReceve::new [function] [call site] 00329
7 responder::ResponderContext::new [function] [call site] 00330
7 gen_array_clone [function] [call site] 00331
7 SpdmSession::new [function] [call site] 00332
8 SpdmSessionState::default [function] [call site] 00333
8 TdiState::default [function] [call site] 00334
8 TdiState::default [function] [call site] 00335
8 TdiState::default [function] [call site] 00336
8 TdiState::default [function] [call site] 00337
8 TdiState::default [function] [call site] 00338
8 TdiState::default [function] [call site] 00339
8 TdiState::default [function] [call site] 00340
8 SpdmKeySchedule::new [function] [call site] 00341
8 SecuredMessageVersion::default [function] [call site] 00342
8 TdiState::default [function] [call site] 00343
7 SpdmSession::setup [function] [call site] 00344
8 SpdmSession::set_default [function] [call site] 00345
9 SpdmSessionState::default [function] [call site] 00346
9 TdiState::default [function] [call site] 00347
9 TdiState::default [function] [call site] 00348
9 TdiState::default [function] [call site] 00349
9 TdiState::default [function] [call site] 00350
9 TdiState::default [function] [call site] 00351
9 TdiState::default [function] [call site] 00352
9 TdiState::default [function] [call site] 00353
9 SecuredMessageVersion::default [function] [call site] 00354
9 BytesMutStrubbed::is_empty [function] [call site] 00355
10 BytesMutStrubbed::is_empty [function] [call site] 00356
7 SpdmSession::set_crypto_param [function] [call site] 00359
7 BytesMutStrubbed::is_empty [function] [call site] 00360
8 BytesMutStrubbed::is_empty [function] [call site] 00361
7 SpdmSession::set_session_state [function] [call site] 00362
7 SpdmContext::process_message [function] [call site] 00363
6 executor::block_on [function] [call site] 00365
7 StaticMutex::lock [function] [call site] 00366
7 block_on [function] [call site] 00367
8 StaticMutex::lock [function] [call site] 00368
6 TestCase::expected_to_vec [function] [call site] 00372
7 SocketIoTransport::new [function] [call site] 00373
7 Writer::init [function] [call site] 00374
7 BytesMutStrubbed::extend [function] [call site] 00377
7 BytesMutStrubbed::into_iter [function] [call site] 00378
6 StaticMutex::lock [function] [call site] 00379
7 BytesMutStrubbed::as_mut [function] [call site] 00380
7 &mut [call site] 00381
7 BytesMutStrubbed::as_mut [function] [call site] 00382
7 StaticMutex::lock [function] [call site] 00383
6 Output::make_contiguous [function] [call site] 00384
6 make_contiguous [function] [call site] 00385
5 test_vector_file [function] [call site] 00386
5 TestCase::consume_string [function] [call site] 00387
6 TestCase::consume_optional_string [function] [call site] 00388
7 BytesMutStrubbed::clone [function] [call site] 00390
8 BytesMutStrubbed::clone [function] [call site] 00391
6 Option::unwrap_or_else [function] [call site] 00392
3 Option::expect [function] [call site] 00394
3 SpdmCertChainBuffer::new [function] [call site] 00395
4 BytesMutStrubbed::len [function] [call site] 00396
5 BytesMutStrubbed::len [function] [call site] 00397
4 BytesMutStrubbed::len [function] [call site] 00398
5 BytesMutStrubbed::len [function] [call site] 00399
4 BytesMutStrubbed::len [function] [call site] 00400
4 BytesMutStrubbed::len [function] [call site] 00401
4 TdiState::default [function] [call site] 00402
4 copy_from_slice [function] [call site] 00403
4 u16::to_le_bytes [function] [call site] 00404
4 BytesMutStrubbed::len [function] [call site] 00405
4 copy_from_slice [function] [call site] 00406
4 BytesMutStrubbed::len [function] [call site] 00407
4 copy_from_slice [function] [call site] 00408
3 BytesMutStrubbed::as_ref [function] [call site] 00410
3 Option::expect [function] [call site] 00411
2 SpdmContext::reset_runtime_info [function] [call site] 00412
3 TdiState::default [function] [call site] 00413
2 Self::send_receive_spdm_key_exchange [function] [call site] 00414
3 common::util::create_info [function] [call site] 00415
3 common::util::create_info [function] [call site] 00416
3 SharedBuffer::new [function] [call site] 00417
3 SocketIoTransport::new [function] [call site] 00418
3 SocketIoTransport::new [function] [call site] 00419
3 FakeSpdmDeviceIoReceve::new [function] [call site] 00420
3 SocketIoTransport::new [function] [call site] 00421
3 SocketIoTransport::new [function] [call site] 00422
3 SocketIoTransport::new [function] [call site] 00423
3 secret::asym_sign::register [function] [call site] 00424
3 BytesMutStrubbed::clone [function] [call site] 00427
3 secret::pqc_asym_sign::register [function] [call site] 00428
3 BytesMutStrubbed::clone [function] [call site] 00431
3 responder::ResponderContext::new [function] [call site] 00432
3 common::util::get_rsp_cert_chain_buff [function] [call site] 00434
4 crypto::cert_operation::get_cert_from_cert_chain [function] [call site] 00435
4 SpdmResult::expect [function] [call site] 00436
4 crypto::hash::hash_all [function] [call site] 00437
4 Option::expect [function] [call site] 00438
4 SpdmCertChainBuffer::new [function] [call site] 00439
4 BytesMutStrubbed::as_ref [function] [call site] 00440
4 Option::expect [function] [call site] 00441
3 SpdmContext::reset_runtime_info [function] [call site] 00442
3 common::util::get_rsp_cert_chain_buff [function] [call site] 00444
3 SpdmRuntimeInfo::set_connection_state [function] [call site] 00445
3 SocketIoTransport::new [function] [call site] 00446
3 SocketIoTransport::new [function] [call site] 00447
3 SharedBuffer::new [function] [call site] 00448
3 SocketIoTransport::new [function] [call site] 00449
3 SocketIoTransport::new [function] [call site] 00450
3 FakeSpdmDeviceIo::new [function] [call site] 00451
3 SocketIoTransport::new [function] [call site] 00452
3 SocketIoTransport::new [function] [call site] 00453
3 SocketIoTransport::new [function] [call site] 00454
3 RequesterContext::new [function] [call site] 00455
4 common::SpdmContext::new [function] [call site] 00456
3 SpdmContext::reset_runtime_info [function] [call site] 00457
3 common::util::get_rsp_cert_chain_buff [function] [call site] 00459
3 Self::send_receive_spdm_key_exchange [function] [call site] 00460
3 executor::block_on [function] [call site] 00462
2 spdmlib::crypto::hmac::register [function] [call site] 00463
2 BytesMutStrubbed::clone [function] [call site] 00466
2 req_create_info [function] [call site] 00467
2 SharedBuffer::new [function] [call site] 00468
2 SocketIoTransport::new [function] [call site] 00469
2 SocketIoTransport::new [function] [call site] 00470
2 fake_device_io::FakeSpdmDeviceIo::new [function] [call site] 00471
2 SocketIoTransport::new [function] [call site] 00472
2 FakeSpdmDeviceIo::set_rx [function] [call site] 00473
2 SocketIoTransport::new [function] [call site] 00474
2 SocketIoTransport::new [function] [call site] 00475
2 requester::RequesterContext::new [function] [call site] 00476
2 get_rsp_cert_chain_buff [function] [call site] 00478
2 SpdmContext::reset_runtime_info [function] [call site] 00479
2 Self::send_receive_spdm_key_exchange [function] [call site] 00480
2 req_create_info [function] [call site] 00481
2 SharedBuffer::new [function] [call site] 00482
2 SocketIoTransport::new [function] [call site] 00483
2 SocketIoTransport::new [function] [call site] 00484
2 fake_device_io::FakeSpdmDeviceIo::new [function] [call site] 00485
2 SocketIoTransport::new [function] [call site] 00486
2 FakeSpdmDeviceIo::set_rx [function] [call site] 00487
2 SocketIoTransport::new [function] [call site] 00488
2 SocketIoTransport::new [function] [call site] 00489
2 requester::RequesterContext::new [function] [call site] 00490
2 get_rsp_cert_chain_buff [function] [call site] 00492
2 SpdmContext::reset_runtime_info [function] [call site] 00493
2 Self::send_receive_spdm_key_exchange [function] [call site] 00494
2 req_create_info [function] [call site] 00495
2 SharedBuffer::new [function] [call site] 00496
2 SocketIoTransport::new [function] [call site] 00497
2 SocketIoTransport::new [function] [call site] 00498
2 fake_device_io::FakeSpdmDeviceIo::new [function] [call site] 00499
2 SocketIoTransport::new [function] [call site] 00500
2 FakeSpdmDeviceIo::set_rx [function] [call site] 00501
2 SocketIoTransport::new [function] [call site] 00502
2 SocketIoTransport::new [function] [call site] 00503
2 requester::RequesterContext::new [function] [call site] 00504
2 get_rsp_cert_chain_buff [function] [call site] 00506
2 SpdmContext::reset_runtime_info [function] [call site] 00507
2 Self::send_receive_spdm_key_exchange [function] [call site] 00508
2 req_create_info [function] [call site] 00509
2 SharedBuffer::new [function] [call site] 00510
2 SocketIoTransport::new [function] [call site] 00511
2 SocketIoTransport::new [function] [call site] 00512
2 fake_device_io::FakeSpdmDeviceIo::new [function] [call site] 00513
2 SocketIoTransport::new [function] [call site] 00514
2 FakeSpdmDeviceIo::set_rx [function] [call site] 00515
2 SocketIoTransport::new [function] [call site] 00516
2 SocketIoTransport::new [function] [call site] 00517
2 requester::RequesterContext::new [function] [call site] 00518
2 get_rsp_cert_chain_buff [function] [call site] 00520
2 SpdmContext::reset_runtime_info [function] [call site] 00521
2 Self::send_receive_spdm_key_exchange [function] [call site] 00522
1 SocketIoTransport::new [function] [call site] 00523
1 TestCase::input_to_vec [function] [call site] 00524
2 SocketIoTransport::new [function] [call site] 00525
2 Writer::init [function] [call site] 00526
2 BytesMutStrubbed::extend [function] [call site] 00529
2 BytesMutStrubbed::into_iter [function] [call site] 00530