fs_mgr: Update for new libavb API.
In https://android-review.googlesource.com/#/c/392873/ we slightly changed the libavb API. This CL updates fs_mgr to use the new API. Bug: 38157502 Test: Manually tested. Change-Id: Ia3371e11fcd81fcc1d147f030cd62af67943aad5
This commit is contained in:
parent
44f6592b0d
commit
7ea2c2814d
|
@ -486,8 +486,11 @@ FsManagerAvbUniquePtr FsManagerAvbHandle::DoOpen(FsManagerAvbOps* avb_ops) {
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
AvbSlotVerifyResult verify_result = avb_ops->AvbSlotVerify(
|
||||
fs_mgr_get_slot_suffix(), avb_verifier->IsDeviceUnlocked(), &avb_handle->avb_slot_data_);
|
||||
AvbSlotVerifyFlags flags = avb_verifier->IsDeviceUnlocked()
|
||||
? AVB_SLOT_VERIFY_FLAGS_ALLOW_VERIFICATION_ERROR
|
||||
: AVB_SLOT_VERIFY_FLAGS_NONE;
|
||||
AvbSlotVerifyResult verify_result =
|
||||
avb_ops->AvbSlotVerify(fs_mgr_get_slot_suffix(), flags, &avb_handle->avb_slot_data_);
|
||||
|
||||
// Only allow two verify results:
|
||||
// - AVB_SLOT_VERIFY_RESULT_OK.
|
||||
|
|
|
@ -177,13 +177,15 @@ AvbIOResult FsManagerAvbOps::ReadFromPartition(const char* partition, int64_t of
|
|||
}
|
||||
|
||||
AvbSlotVerifyResult FsManagerAvbOps::AvbSlotVerify(const std::string& ab_suffix,
|
||||
bool allow_verification_error,
|
||||
AvbSlotVerifyFlags flags,
|
||||
AvbSlotVerifyData** out_data) {
|
||||
// Invokes avb_slot_verify() to load and verify all vbmeta images.
|
||||
// Sets requested_partitions to nullptr as it's to copy the contents
|
||||
// of HASH partitions into handle>avb_slot_data_, which is not required as
|
||||
// fs_mgr only deals with HASHTREE partitions.
|
||||
const char* requested_partitions[] = {nullptr};
|
||||
return avb_slot_verify(&avb_ops_, requested_partitions, ab_suffix.c_str(),
|
||||
allow_verification_error, out_data);
|
||||
// The |hashtree_error_mode| field doesn't matter as it only
|
||||
// influences the generated kernel cmdline parameters.
|
||||
return avb_slot_verify(&avb_ops_, requested_partitions, ab_suffix.c_str(), flags,
|
||||
AVB_HASHTREE_ERROR_MODE_RESTART_AND_INVALIDATE, out_data);
|
||||
}
|
||||
|
|
|
@ -56,7 +56,7 @@ class FsManagerAvbOps {
|
|||
AvbIOResult ReadFromPartition(const char* partition, int64_t offset, size_t num_bytes,
|
||||
void* buffer, size_t* out_num_read);
|
||||
|
||||
AvbSlotVerifyResult AvbSlotVerify(const std::string& ab_suffix, bool allow_verification_error,
|
||||
AvbSlotVerifyResult AvbSlotVerify(const std::string& ab_suffix, AvbSlotVerifyFlags flags,
|
||||
AvbSlotVerifyData** out_data);
|
||||
|
||||
private:
|
||||
|
|
Loading…
Reference in New Issue