Attention is currently required from: Jason Glenesk, Raul Rangel, Furquan Shaikh, Marshall Dawson, Patrick Rudolph, Aaron Durbin, Felix Held. Hello Hung-Te Lin, Jason Glenesk, build bot (Jenkins), Furquan Shaikh, Marshall Dawson, Patrick Rudolph, Aaron Durbin, Felix Held,
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/coreboot/+/49335
to look at the new patch set (#7).
Change subject: cbfs: Remove prog_locate() for stages and rmodules ......................................................................
cbfs: Remove prog_locate() for stages and rmodules
This patch removes the prog_locate() step for stages and rmodules. Instead, the stage and rmodule loading functions will now perform the locate step directly together with the actual loading. The long-term goal of this is to eliminate prog_locate() (and the rdev member in struct prog that it fills) completely in order to make CBFS verification code safer and its security guarantees easier to follow. prog_locate() is the main remaining use case where a raw rdev of CBFS file data "leaks" out of cbfs.c into other code, and that other code needs to manually make sure that the contents of the rdev get verified during loading. By eliminating this step and moving all code that directly deals with file data into cbfs.c, we can concentrate the code that needs to worry about file data hashing (and needs access to cbfs_private.h APIs) into one file, making it easier to keep track of and reason about.
This patch is the first step of this move, later patches will do the same for SELFs and other program types.
Signed-off-by: Julius Werner jwerner@chromium.org Change-Id: Ia600e55f77c2549a00e2606f09befc1f92594a3a --- M src/arch/arm64/bl31.c M src/arch/x86/bootblock_normal.c M src/arch/x86/postcar_loader.c M src/include/program_loading.h M src/lib/cbfs.c M src/lib/prog_loaders.c M src/lib/rmodule.c M src/security/vboot/vboot_loader.c M src/soc/amd/common/block/pi/refcode_loader.c M src/soc/intel/baytrail/refcode.c M src/soc/intel/broadwell/refcode.c M src/soc/mediatek/mt8183/memory.c M src/soc/mediatek/mt8192/memory.c M src/soc/qualcomm/common/qclib.c 14 files changed, 46 insertions(+), 72 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/35/49335/7