mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-26 19:25:02 +00:00
vboot2: Use more specific error codes, part 2
Error codes reported by the aligment checks in common.c are now very specific, and tests verify the proper errors are reported. Changed args to vb2_member_inside() so I can force wraparounds. BUG=chromium:370082 BRANCH=none TEST=make clean && VBOOT2=1 COV=1 make Change-Id: Ib135674e82005b76bce7a83a1f4a65a9c5296cf4 Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/202937 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
This commit is contained in:
committed by
chrome-internal-fetch
parent
b9be53640e
commit
2145721c3c
@@ -151,10 +151,10 @@ uint8_t *vb2_signature_data(struct vb2_signature *sig);
|
||||
* @param member_data_size Size of member data in bytes
|
||||
* @return VB2_SUCCESS, or non-zero if error.
|
||||
*/
|
||||
int vb2_verify_member_inside(const void *parent, uint32_t parent_size,
|
||||
const void *member, uint32_t member_size,
|
||||
uint32_t member_data_offset,
|
||||
uint32_t member_data_size);
|
||||
int vb2_verify_member_inside(const void *parent, size_t parent_size,
|
||||
const void *member, size_t member_size,
|
||||
ptrdiff_t member_data_offset,
|
||||
size_t member_data_size);
|
||||
|
||||
/**
|
||||
* Verify a signature is fully contained in its parent data
|
||||
|
||||
@@ -99,6 +99,32 @@ enum vb2_return_code {
|
||||
/* Invalid flags passed to vb2_secdata_set() */
|
||||
VB2_ERROR_SECDATA_SET_FLAGS,
|
||||
|
||||
/**********************************************************************
|
||||
* Common code errors
|
||||
*/
|
||||
VB2_ERROR_COMMON = VB2_ERROR_BASE + 0x050000,
|
||||
|
||||
/* Buffer is smaller than alignment offset in vb2_align() */
|
||||
VB2_ERROR_ALIGN_BIGGER_THAN_SIZE,
|
||||
|
||||
/* Buffer is smaller than request in vb2_align() */
|
||||
VB2_ERROR_ALIGN_SIZE,
|
||||
|
||||
/* Parent wraps around in vb2_verify_member_inside() */
|
||||
VB2_ERROR_INSIDE_PARENT_WRAPS,
|
||||
|
||||
/* Member wraps around in vb2_verify_member_inside() */
|
||||
VB2_ERROR_INSIDE_MEMBER_WRAPS,
|
||||
|
||||
/* Member outside parent in vb2_verify_member_inside() */
|
||||
VB2_ERROR_INSIDE_MEMBER_OUTSIDE,
|
||||
|
||||
/* Member data wraps around in vb2_verify_member_inside() */
|
||||
VB2_ERROR_INSIDE_DATA_WRAPS,
|
||||
|
||||
/* Member data outside parent in vb2_verify_member_inside() */
|
||||
VB2_ERROR_INSIDE_DATA_OUTSIDE,
|
||||
|
||||
/**********************************************************************
|
||||
* TODO: errors which must still be made specific
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user