security/vboot: relocate vb2ex_abort and vb2ex_printf
Enabling an assertion in vb2_member_of() results in coreboot linking vb2ex_abort() and vb2ex_printf() in ramstage. Move these two functions from vboot_logic.c to vboot_lib.c, which is should be enabled in all stages if CONFIG_VBOOT_LIB is enabled. Note that CONFIG_VBOOT_LIB is implied by CONFIG_VBOOT. Relevant vboot_reference commit: CL:2037263. BUG=b:124141368, chromium:1005700 TEST=make clean && make test-abuild BRANCH=none Change-Id: Ica0103c5684b3d50ba7dc1b4c39559cb192efa81 Signed-off-by: Joel Kitching <kitching@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/38706 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
This commit is contained in:
parent
b40c600914
commit
ec12bd011b
|
@ -16,6 +16,12 @@
|
|||
|
||||
ifeq ($(CONFIG_VBOOT_LIB),y)
|
||||
|
||||
bootblock-y += vboot_lib.c
|
||||
verstage-y += vboot_lib.c
|
||||
romstage-y += vboot_lib.c
|
||||
ramstage-y += vboot_lib.c
|
||||
postcar-y += vboot_lib.c
|
||||
|
||||
vboot-fixup-includes = $(patsubst -I%,-I$(top)/%,\
|
||||
$(patsubst $(src)/%.h,$(top)/$(src)/%.h,\
|
||||
$(filter-out -I$(obj),$(1))))
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
/* This file is part of the coreboot project. */
|
||||
|
||||
#include <console/console.h>
|
||||
#include <console/vtxprintf.h>
|
||||
#include <vb2_api.h>
|
||||
|
||||
/*
|
||||
* vboot callbacks implemented by coreboot -- necessary for making general API
|
||||
* calls when CONFIG_VBOOT_LIB is enabled. For callbacks specific to verstage
|
||||
* (CONFIG_VBOOT), please see vboot_logic.c.
|
||||
*/
|
||||
|
||||
void vb2ex_printf(const char *func, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
if (func)
|
||||
printk(BIOS_INFO, "VB2:%s() ", func);
|
||||
|
||||
va_start(args, fmt);
|
||||
vprintk(BIOS_INFO, fmt, args);
|
||||
va_end(args);
|
||||
}
|
||||
|
||||
void vb2ex_abort(void)
|
||||
{
|
||||
die("vboot has aborted execution; exit\n");
|
||||
}
|
|
@ -17,8 +17,6 @@
|
|||
#include <assert.h>
|
||||
#include <bootmode.h>
|
||||
#include <cbmem.h>
|
||||
#include <console/console.h>
|
||||
#include <console/vtxprintf.h>
|
||||
#include <fmap.h>
|
||||
#include <string.h>
|
||||
#include <timestamp.h>
|
||||
|
@ -37,20 +35,6 @@
|
|||
|
||||
/* exports */
|
||||
|
||||
void vb2ex_printf(const char *func, const char *fmt, ...)
|
||||
{
|
||||
va_list args;
|
||||
|
||||
if (func)
|
||||
printk(BIOS_INFO, "VB2:%s() ", func);
|
||||
|
||||
va_start(args, fmt);
|
||||
vprintk(BIOS_INFO, fmt, args);
|
||||
va_end(args);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
vb2_error_t vb2ex_read_resource(struct vb2_context *ctx,
|
||||
enum vb2_resource_index index,
|
||||
uint32_t offset,
|
||||
|
@ -83,11 +67,6 @@ vb2_error_t vb2ex_read_resource(struct vb2_context *ctx,
|
|||
return VB2_SUCCESS;
|
||||
}
|
||||
|
||||
void vb2ex_abort(void)
|
||||
{
|
||||
die("vboot has aborted execution; exit\n");
|
||||
}
|
||||
|
||||
/* No-op stubs that can be overridden by SoCs with hardware crypto support. */
|
||||
__weak vb2_error_t vb2ex_hwcrypto_digest_init(enum vb2_hash_algorithm hash_alg,
|
||||
uint32_t data_size)
|
||||
|
|
|
@ -17,7 +17,7 @@ ifneq ($(filter y,$(CONFIG_VENDORCODE_ELTAN_VBOOT) $(CONFIG_VENDORCODE_ELTAN_MBO
|
|||
|
||||
CPPFLAGS_common += -I$(src)/security/vboot
|
||||
|
||||
bootblock-y += ../../../../security/vboot/vboot_logic.c
|
||||
bootblock-y += ../../../../security/vboot/vboot_lib.c
|
||||
bootblock-y += vboot_check.c
|
||||
postcar-y += vboot_check.c
|
||||
romstage-y += vboot_check.c
|
||||
|
|
Loading…
Reference in New Issue