mirror of
https://github.com/u-boot/u-boot.git
synced 2025-04-11 07:24:46 +00:00
common: avb_verify: add str_avb_io_error/str_avb_slot_error
Introduce str_avb_io_error() and str_avb_slot_error() functions, that provide a pointer to AVB runtime error message. Reviewed-by: Mattijs Korpershoek <mkorpershoek@baylibre.com> Signed-off-by: Igor Opaniuk <igor.opaniuk@gmail.com> Link: https://lore.kernel.org/r/20240209192045.3961832-6-igor.opaniuk@foundries.io Signed-off-by: Mattijs Korpershoek <mkorpershoek@baylibre.com>
This commit is contained in:
parent
0ef0825a8c
commit
fc7ef0f9e7
2 changed files with 51 additions and 1 deletions
|
@ -119,6 +119,55 @@ static const unsigned char avb_root_pub[1032] = {
|
|||
0xd8, 0x7e,
|
||||
};
|
||||
|
||||
const char *str_avb_io_error(AvbIOResult res)
|
||||
{
|
||||
switch (res) {
|
||||
case AVB_IO_RESULT_OK:
|
||||
return "Requested operation was successful";
|
||||
case AVB_IO_RESULT_ERROR_IO:
|
||||
return "Underlying hardware encountered an I/O error";
|
||||
case AVB_IO_RESULT_ERROR_OOM:
|
||||
return "Unable to allocate memory";
|
||||
case AVB_IO_RESULT_ERROR_NO_SUCH_PARTITION:
|
||||
return "Requested partition does not exist";
|
||||
case AVB_IO_RESULT_ERROR_RANGE_OUTSIDE_PARTITION:
|
||||
return "Bytes requested is outside the range of partition";
|
||||
case AVB_IO_RESULT_ERROR_NO_SUCH_VALUE:
|
||||
return "Named persistent value does not exist";
|
||||
case AVB_IO_RESULT_ERROR_INVALID_VALUE_SIZE:
|
||||
return "Named persistent value size is not supported";
|
||||
case AVB_IO_RESULT_ERROR_INSUFFICIENT_SPACE:
|
||||
return "Buffer is too small for the requested operation";
|
||||
default:
|
||||
return "Unknown AVB error";
|
||||
}
|
||||
}
|
||||
|
||||
const char *str_avb_slot_error(AvbSlotVerifyResult res)
|
||||
{
|
||||
switch (res) {
|
||||
case AVB_SLOT_VERIFY_RESULT_OK:
|
||||
return "Verification passed successfully";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_OOM:
|
||||
return "Allocation of memory failed";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_IO:
|
||||
return "I/O error occurred while trying to load data";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_VERIFICATION:
|
||||
return "Digest didn't match or signature checks failed";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_ROLLBACK_INDEX:
|
||||
return "Rollback index is less than its stored value";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_PUBLIC_KEY_REJECTED:
|
||||
return "Public keys are not accepted";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_METADATA:
|
||||
return "Metadata is invalid or inconsistent";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_UNSUPPORTED_VERSION:
|
||||
return "Metadata requires a newer version of libavb";
|
||||
case AVB_SLOT_VERIFY_RESULT_ERROR_INVALID_ARGUMENT:
|
||||
return "Invalid arguments are used";
|
||||
default:
|
||||
return "Unknown AVB slot verification error";
|
||||
}
|
||||
}
|
||||
/**
|
||||
* ============================================================================
|
||||
* Boot states support (GREEN, YELLOW, ORANGE, RED) and dm_verity
|
||||
|
|
|
@ -52,7 +52,8 @@ char *avb_set_enforce_verity(const char *cmdline);
|
|||
char *avb_set_ignore_corruption(const char *cmdline);
|
||||
|
||||
char *append_cmd_line(char *cmdline_orig, char *cmdline_new);
|
||||
|
||||
const char *str_avb_io_error(AvbIOResult res);
|
||||
const char *str_avb_slot_error(AvbSlotVerifyResult res);
|
||||
/**
|
||||
* ============================================================================
|
||||
* I/O helper inline functions
|
||||
|
|
Loading…
Add table
Reference in a new issue