Merge "Skip legacy-fs-verity setup if file already has it" into qt-dev

This commit is contained in:
TreeHugger Robot
2019-06-04 16:39:34 +00:00
committed by Android (Google) Code Review

View File

@@ -18050,9 +18050,15 @@ public class PackageManagerService extends IPackageManager.Stub
if (Build.IS_DEBUGGABLE) Slog.i(TAG, "Enabling verity to " + filePath);
final FileDescriptor fd = result.getUnownedFileDescriptor();
try {
mInstaller.installApkVerity(filePath, fd, result.getContentSize());
final byte[] rootHash = VerityUtils.generateApkVerityRootHash(filePath);
mInstaller.assertFsverityRootHashMatches(filePath, rootHash);
try {
// A file may already have fs-verity, e.g. when reused during a split
// install. If the measurement succeeds, no need to attempt to set up.
mInstaller.assertFsverityRootHashMatches(filePath, rootHash);
} catch (InstallerException e) {
mInstaller.installApkVerity(filePath, fd, result.getContentSize());
mInstaller.assertFsverityRootHashMatches(filePath, rootHash);
}
} finally {
IoUtils.closeQuietly(fd);
}