Merge "Fix issue: upgradeKeyBlob call always return PERMISSION_DENIED." am: 53b4ffad7e am: b0ea8ee642 am: e5482ecca8
am: b149071d05

Change-Id: I3164564654fd55d7001c735700f3eca12b5bb6e0
diff --git a/keystore/key_store_service.cpp b/keystore/key_store_service.cpp
index ee47c36..5b15e4b 100644
--- a/keystore/key_store_service.cpp
+++ b/keystore/key_store_service.cpp
@@ -1687,12 +1687,12 @@
     UniquePtr<uint8_t, Malloc_Delete> upgraded_key_deleter(
         const_cast<uint8_t*>(upgraded_key.key_material));
 
-    rc = del(name, uid);
+    String8 filename(mKeyStore->getKeyNameForUidWithDir(name8, uid, ::TYPE_KEYMASTER_10));
+    rc = mKeyStore->del(filename.string(), ::TYPE_ANY, get_user_id(uid));
     if (rc != ::NO_ERROR) {
         return rc;
     }
 
-    String8 filename(mKeyStore->getKeyNameForUidWithDir(name8, uid, ::TYPE_KEYMASTER_10));
     Blob newBlob(upgraded_key.key_material, upgraded_key.key_material_size, nullptr /* info */,
                  0 /* infoLength */, ::TYPE_KEYMASTER_10);
     newBlob.setFallback(blob->isFallback());