Merge "fs_mgr: Update for new libavb API."

This commit is contained in:
Treehugger Robot 2017-05-12 01:17:43 +00:00 committed by Gerrit Code Review
commit 5ed7d39857
3 changed files with 11 additions and 6 deletions

View file

@ -486,8 +486,11 @@ FsManagerAvbUniquePtr FsManagerAvbHandle::DoOpen(FsManagerAvbOps* avb_ops) {
return nullptr; return nullptr;
} }
AvbSlotVerifyResult verify_result = avb_ops->AvbSlotVerify( AvbSlotVerifyFlags flags = avb_verifier->IsDeviceUnlocked()
fs_mgr_get_slot_suffix(), avb_verifier->IsDeviceUnlocked(), &avb_handle->avb_slot_data_); ? 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: // Only allow two verify results:
// - AVB_SLOT_VERIFY_RESULT_OK. // - AVB_SLOT_VERIFY_RESULT_OK.

View file

@ -177,13 +177,15 @@ AvbIOResult FsManagerAvbOps::ReadFromPartition(const char* partition, int64_t of
} }
AvbSlotVerifyResult FsManagerAvbOps::AvbSlotVerify(const std::string& ab_suffix, AvbSlotVerifyResult FsManagerAvbOps::AvbSlotVerify(const std::string& ab_suffix,
bool allow_verification_error, AvbSlotVerifyFlags flags,
AvbSlotVerifyData** out_data) { AvbSlotVerifyData** out_data) {
// Invokes avb_slot_verify() to load and verify all vbmeta images. // Invokes avb_slot_verify() to load and verify all vbmeta images.
// Sets requested_partitions to nullptr as it's to copy the contents // 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 // of HASH partitions into handle>avb_slot_data_, which is not required as
// fs_mgr only deals with HASHTREE partitions. // fs_mgr only deals with HASHTREE partitions.
const char* requested_partitions[] = {nullptr}; const char* requested_partitions[] = {nullptr};
return avb_slot_verify(&avb_ops_, requested_partitions, ab_suffix.c_str(), // The |hashtree_error_mode| field doesn't matter as it only
allow_verification_error, out_data); // 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);
} }

View file

@ -56,7 +56,7 @@ class FsManagerAvbOps {
AvbIOResult ReadFromPartition(const char* partition, int64_t offset, size_t num_bytes, AvbIOResult ReadFromPartition(const char* partition, int64_t offset, size_t num_bytes,
void* buffer, size_t* out_num_read); 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); AvbSlotVerifyData** out_data);
private: private: