vboot: Allow for comparison of hash without zero-padding

Adjust asserts to allow to store and compare (at S3 resume) hashes
without padding to maximum hash length / slot size.

Signed-off-by: Jakub Czapiga <jacz@semihalf.com>
Change-Id: If6d46e0b58dbca86af56221b7ff2606ab2d1799a
Reviewed-on: https://review.coreboot.org/c/coreboot/+/69762
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Yu-Ping Wu <yupingso@google.com>
Reviewed-by: Eric Lai <eric_lai@quanta.corp-partner.google.com>
This commit is contained in:
Jakub Czapiga 2022-11-17 10:34:48 +00:00 committed by Julius Werner
parent d27fff5923
commit a7f669049d
2 changed files with 3 additions and 3 deletions

View File

@ -14,8 +14,8 @@ int vboot_save_hash(void *digest, size_t digest_size)
uint32_t lock_status; uint32_t lock_status;
int num_slots; int num_slots;
/* Ensure the digests being saved match the EC's slot size. */ /* Ensure the digests being saved does not exceed the EC's slot size. */
assert(digest_size == EC_VSTORE_SLOT_SIZE); assert(digest_size > 0 && digest_size <= EC_VSTORE_SLOT_SIZE);
if (google_chromeec_vstore_write(slot, digest, digest_size)) if (google_chromeec_vstore_write(slot, digest, digest_size))
return -1; return -1;

View File

@ -86,7 +86,7 @@ static vb2_error_t handle_digest_result(void *slot_hash, size_t slot_hash_sz)
uint8_t saved_hash[VBOOT_MAX_HASH_SIZE]; uint8_t saved_hash[VBOOT_MAX_HASH_SIZE];
const size_t saved_hash_sz = sizeof(saved_hash); const size_t saved_hash_sz = sizeof(saved_hash);
assert(slot_hash_sz == saved_hash_sz); assert(slot_hash_sz <= saved_hash_sz);
printk(BIOS_DEBUG, "Platform is resuming.\n"); printk(BIOS_DEBUG, "Platform is resuming.\n");