mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-11-26 19:25:02 +00:00
vboot2: Add routine to verify kernel preamble
This also checks that the bootloader and vmlinuz headers, if present, are within the signed part of the kernel blob; the vboot1 routines didn't do that. That wasn't harmful at firmware boot time because the vboot1 routines would only load as much data as was signed, but in vboot2 loading the kernel data is the responsibility of the caller so we need to check. BUG=chromium:487699 BRANCH=none TEST=make -j runtests Change-Id: I73eb4831e5d3d7a642b6cb85cb55857d87fcc0af Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/270797
This commit is contained in:
committed by
ChromeOS Commit Bot
parent
ea71df260e
commit
2d25e837cc
@@ -156,4 +156,20 @@ int vb2_verify_fw_preamble(struct vb2_fw_preamble *preamble,
|
||||
const struct vb2_public_key *key,
|
||||
const struct vb2_workbuf *wb);
|
||||
|
||||
/**
|
||||
* Check the sanity of a kernel preamble using a public key.
|
||||
*
|
||||
* The signature in the preamble is destroyed during the check.
|
||||
*
|
||||
* @param preamble Preamble to verify
|
||||
* @param size Size of preamble buffer
|
||||
* @param key Key to use to verify preamble
|
||||
* @param wb Work buffer
|
||||
* @return VB2_SUCCESS, or non-zero error code if error.
|
||||
*/
|
||||
int vb2_verify_kernel_preamble(struct vb2_kernel_preamble *preamble,
|
||||
uint32_t size,
|
||||
const struct vb2_public_key *key,
|
||||
const struct vb2_workbuf *wb);
|
||||
|
||||
#endif /* VBOOT_REFERENCE_VB2_COMMON_H_ */
|
||||
|
||||
Reference in New Issue
Block a user