aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornagendra modadugu <ngm@google.com>2018-07-27 14:37:11 -0700
committernagendra modadugu <ngm@google.com>2018-07-27 14:37:11 -0700
commit8c179d347b54ac301e5bdc9e10b3e95d12f39e89 (patch)
treefbf7354c6e846450cb73967d073a374d3c0a4779
parentc33f79118d6980b9b1bae5183067f0868cc6102d (diff)
downloadandroid-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.cpp30
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: "