coreboot/src/lib
Julius Werner 0ed3c0c2b6 cbfs: Enforce media->map() result checking, improve error messages
If you try to boot a VBOOT2_VERIFY_FIRMWARE with less than 4K CBFS cache
right now, your system will try and fail to validate the FMAP signature
at (u8 *)0xFFFFFFFF and go into recovery mode. This patch avoids the
memcmp() to potentially invalid memory, and also adds an error message
to cbfs_simple_buffer_map() to make it explicit that we ran out of CBFS
cache space.

BUG=None
TEST=Booted on Veyron_Pinky with reduced CBFS cache, saw the message.

Change-Id: Ic5773b4e0b36dc621513f58fc9bd29c17afbf1b7
Signed-off-by: Julius Werner <jwerner@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/222899
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
2014-10-14 23:59:08 +00:00
..
bootblock.ld New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
cbfs.c cbfs: Enforce media->map() result checking, improve error messages 2014-10-14 23:59:08 +00:00
cbfs_core.c cbfs: change 1 message level to WARNING if cbfs can't find specific data 2014-09-11 20:00:41 +00:00
cbfs_spi.c New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
cbmem.c aarch64: Fix 64-bit pointer related casts 2014-02-24 19:19:38 +00:00
cbmem_console.c New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
cbmem_info.c cbmem: use a single id to name mapping table 2014-05-14 22:53:16 +00:00
clog2.c printk_foo -> printk(BIOS_FOO, ...) 2010-03-22 11:42:32 +00:00
compute_ip_checksum.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
coreboot_table.c vpd: retrieve mac addresses and pass them to bootloader 2014-09-24 08:55:57 +00:00
debug.c Myles suspected this hangs certain machines, so back it out. 2010-04-15 12:43:07 +00:00
delay.c - Major cleanup of the bootpath 2003-07-19 04:28:22 +00:00
dynamic_cbmem.c cbmem: Fix 64-bit pointer related casts in dynamic_cbmem.c 2014-03-14 03:44:40 +00:00
edid.c edid: initialize has_valid_detailed_blocks as 1 2014-04-21 12:51:09 +00:00
fallback_boot.c Make set_boot_successful depend on PC80_SYSTEM 2012-11-30 21:33:35 +01:00
gcc.c Unify assembler function handling 2012-12-06 23:13:17 +01:00
gcov-glue.c BACKPORT: coverage: use boot state callbacks 2013-05-01 14:30:01 -07:00
gcov-io.c Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
gcov-io.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
gcov-iov.h Implement GCC code coverage analysis 2013-01-12 19:09:55 +01:00
generic_dump_spd.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
generic_sdram.c Remove duplicate line from pci_ids.h. 2010-10-07 23:02:06 +00:00
hardwaremain.c ramstage: remove rela_time use 2014-09-27 02:37:16 +00:00
hexdump.c Add simple hexdump function 2013-07-30 15:25:06 -07:00
jpeg.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
jpeg.h Random cosmetic fixes (trivial). 2010-02-22 16:41:49 +00:00
libgcov.c Update gcov patch in documentation 2013-01-19 01:00:50 +01:00
lzma.c Add and consistently use wrapper macro for romstage static variables 2014-06-09 22:21:10 +00:00
lzmadecode.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
lzmadecode.h Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
Makefile.inc New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
malloc.c SMM: Add support for malloc in SMM if using TSEG 2012-07-24 23:44:19 +02:00
memchr.c Add an implementation for the memchr library function 2012-03-09 20:00:53 +01:00
memcmp.c - Initial checkin of the freebios2 tree 2003-04-22 19:02:15 +00:00
memcpy.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
memmove.c tidy 2004-03-13 03:40:29 +00:00
memrange.c coreboot memrange: Changes to memrange lib 2014-07-22 01:23:24 +00:00
memset.c fix compiler warnings (trivial) 2009-01-20 21:40:16 +00:00
ne2k.c x86: Unify arch/io.h and arch/romcc_io.h 2013-03-22 00:00:09 +01:00
nrv2b.c Since some people disapprove of white space cleanups mixed in regular commits 2010-04-27 06:56:47 +00:00
ns8390.h Add support for the console over Ethernet (through PCI NE2000). 2010-07-16 20:02:09 +00:00
primitive_memtest.c Primitive memory test 2014-07-03 02:56:56 +00:00
ramstage.ld New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
ramstage_cache.c ramstage_cache: allow ramstage usage add valid helper 2013-12-13 00:07:08 +00:00
ramtest.c Replace ramtest pattern to assist in DIMM configuration 2012-03-25 20:17:51 +02:00
reg_script.c baytrail: add more iosf access functions 2013-12-12 19:47:21 +00:00
rmodule.c rmodule: Correct the typecast with proper parenthesis 2014-07-23 23:14:18 +00:00
rmodule.ld New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
romstage.ld New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
selfboot.c New mechanism to define SRAM/memory map with automatic bounds checking 2014-10-03 09:09:36 +00:00
stack.c stack check: cosmetics 2013-11-15 03:54:51 +00:00
thread.c Possible thread stack implementation. 2013-08-23 10:38:10 -07:00
timer.c timer: generic udelay() 2014-09-29 08:42:38 +00:00
timer_queue.c BACKPORT: coreboot: add timer queue implementation 2013-05-01 14:30:57 -07:00
timestamp.c Add and consistently use wrapper macro for romstage static variables 2014-06-09 22:21:10 +00:00
tlcl.c vboot2: read secdata and nvdata 2014-07-23 02:29:18 +00:00
tlcl_internal.h vboot2: read secdata and nvdata 2014-07-23 02:29:18 +00:00
tlcl_structures.h vboot2: copy tlcl from vboot_reference as a preparation for vboot2 integration 2014-07-08 23:29:11 +00:00
tpm_error_messages.h vboot2: copy tlcl from vboot_reference as a preparation for vboot2 integration 2014-07-08 23:29:11 +00:00
trace.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00
tristate_gpios.c fix how to interpret board id read from gpios 2014-08-09 07:05:56 +00:00
uart8250.c UART 8250: Unconditionally provide register constants and use UART8250 prefix. 2013-10-02 09:18:38 +00:00
uart8250mem.c UART 8250: Unconditionally provide register constants and use UART8250 prefix. 2013-10-02 09:18:38 +00:00
usbdebug.c USBDEBUG: retry harder for slow devices 2012-07-30 20:54:24 +02:00
version.c coreboot: Introduce stage-specific architecture for coreboot 2014-05-09 04:41:47 +00:00
xmodem.c GPLv2 notice: Unify all files to just use one space in »MA 02110-1301« 2013-03-01 10:16:08 +01:00