Fix flagging bug in VM ID allocation
mInstanceIdPath is null if llpvm_changes is disabled. Cope with this
while creating VirtualMachineDescriptor. Additionally, aosp/2956200
introduced a bug where appConfig.instanceImage was null if llpvm_changes
was disabled. Fix that.
Test: lunch aosp_cf_x86_64_phone-trunk-userdebug
Test: atest MicrodroidTests
Bug: 327261110
Bug: 327370574
Change-Id: I49079259081abd662265ff8121a710f1b57437a4
diff --git a/java/framework/src/android/system/virtualmachine/VirtualMachine.java b/java/framework/src/android/system/virtualmachine/VirtualMachine.java
index 9a38acf..a5c8062 100644
--- a/java/framework/src/android/system/virtualmachine/VirtualMachine.java
+++ b/java/framework/src/android/system/virtualmachine/VirtualMachine.java
@@ -852,11 +852,11 @@
VirtualMachineConfig vmConfig = getConfig();
VirtualMachineAppConfig appConfig =
vmConfig.toVsConfig(mContext.getPackageManager());
+ appConfig.instanceImage =
+ ParcelFileDescriptor.open(mInstanceFilePath, MODE_READ_WRITE);
appConfig.name = mName;
if (mInstanceIdPath != null) {
appConfig.instanceId = Files.readAllBytes(mInstanceIdPath.toPath());
- appConfig.instanceImage =
- ParcelFileDescriptor.open(mInstanceFilePath, MODE_READ_WRITE);
} else {
// FEATURE_LLPVM_CHANGES is disabled, instance_id is not used.
appConfig.instanceId = new byte[64];
@@ -1298,7 +1298,9 @@
try {
return new VirtualMachineDescriptor(
ParcelFileDescriptor.open(mConfigFilePath, MODE_READ_ONLY),
- ParcelFileDescriptor.open(mInstanceIdPath, MODE_READ_ONLY),
+ mInstanceIdPath != null
+ ? ParcelFileDescriptor.open(mInstanceIdPath, MODE_READ_ONLY)
+ : null,
ParcelFileDescriptor.open(mInstanceFilePath, MODE_READ_ONLY),
mEncryptedStoreFilePath != null
? ParcelFileDescriptor.open(mEncryptedStoreFilePath, MODE_READ_ONLY)