Merge "keystore2 compat: stop crashing without hwservicemanager" into main
diff --git a/keystore2/src/km_compat/km_compat.cpp b/keystore2/src/km_compat/km_compat.cpp
index 6bfd47a..e9ff1ff 100644
--- a/keystore2/src/km_compat/km_compat.cpp
+++ b/keystore2/src/km_compat/km_compat.cpp
@@ -1450,7 +1450,12 @@
KeymasterDevices initializeKeymasters() {
auto serviceManager = IServiceManager::getService();
- CHECK(serviceManager.get()) << "Failed to get ServiceManager";
+ if (!serviceManager.get()) {
+ // New devices no longer have HIDL support, so failing to get hwservicemanager is
+ // expected behavior.
+ LOG(INFO) << "Skipping keymaster compat, this system is AIDL only.";
+ return KeymasterDevices();
+ }
auto result = enumerateKeymasterDevices<Keymaster4>(serviceManager.get());
auto softKeymaster = result[SecurityLevel::SOFTWARE];
if ((!result[SecurityLevel::TRUSTED_ENVIRONMENT]) && (!result[SecurityLevel::STRONGBOX])) {