diff options
author | nagendra modadugu <ngm@google.com> | 2018-07-27 14:37:11 -0700 |
---|---|---|
committer | nagendra modadugu <ngm@google.com> | 2018-07-27 14:37:11 -0700 |
commit | 8c179d347b54ac301e5bdc9e10b3e95d12f39e89 (patch) | |
tree | fbf7354c6e846450cb73967d073a374d3c0a4779 | |
parent | c33f79118d6980b9b1bae5183067f0868cc6102d (diff) | |
download | android-8c179d347b54ac301e5bdc9e10b3e95d12f39e89.tar.gz |
keymaster: skip provisioning status info rpc
Eliminate the rpc to Citadel that detects
the current provisioning status. This check
was purely informational anyway, and was
resulting in a boot delay as wait_for_keymasters
will block device boot.
This change cuts ~100ms off boot time.
Bug: 111074890
Test: wait_for_keymasters is done in ~3ms
Change-Id: I8e4bd69af62f6d0ec5a14358545fef7579137949
-rw-r--r-- | hals/keymaster/citadel/service.cpp | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/hals/keymaster/citadel/service.cpp b/hals/keymaster/citadel/service.cpp index 89f4e8e..8561bbf 100644 --- a/hals/keymaster/citadel/service.cpp +++ b/hals/keymaster/citadel/service.cpp @@ -48,35 +48,6 @@ using ::android::hardware::keymaster::V4_0::ErrorCode; using KeymasterClient = ::nugget::app::keymaster::Keymaster; -// TODO(ngm): move this code into the HAL implementation. -static bool provisionStatus(KeymasterClient *keymasterClient) { - ProvisionPresharedSecretRequest request; - ProvisionPresharedSecretResponse response; - request.set_get_status(true); - - const uint32_t status = keymasterClient->ProvisionPresharedSecret( - request, &response); - if (status != APP_SUCCESS) { - LOG(ERROR) << "ProvisionPresharedSecret(get_status) failed with status: " - << ::nos::StatusCodeString(status); - return false; - } - const ErrorCode error_code = translate_error_code(response.error_code()); - if (error_code != ErrorCode::OK) { - LOG(ERROR) << "ProvisionPresharedSecret(get_status) response error code: " - << toString(error_code); - return false; - } - if (response.status() == PresharedSecretStatus::ALREADY_SET) { - LOG(INFO) << "Preshared secret previously provisioned"; - return true; - } else { - LOG(WARNING) << "Preshared secret unprovisioned"; - return false; - } - -} - int main() { LOG(INFO) << "Keymaster HAL service starting"; @@ -95,7 +66,6 @@ int main() { KeymasterClient keymasterClient{citadeldProxy}; sp<KeymasterDevice> keymaster = new KeymasterDevice{keymasterClient}; - provisionStatus(&keymasterClient); const status_t status = keymaster->registerAsService("strongbox"); if (status != OK) { LOG(FATAL) << "Failed to register Keymaster as a service (status: " |