[coreboot-gerrit] New patch to review for coreboot: nb/intel/sandybridge/northbridge: Prevent integer overflow

Patrick Rudolph (siro@das-labor.org) gerrit at coreboot.org
Fri Oct 16 13:25:39 CEST 2015


Patrick Rudolph (siro at das-labor.org) just uploaded a new patch set to gerrit, which you can find at http://review.coreboot.org/11918

-gerrit

commit 8f1c560c96ed9c15d53946cda6f65e7e41790ef8
Author: Patrick Rudolph <siro at das-labor.org>
Date:   Thu Oct 15 15:33:25 2015 +0200

    nb/intel/sandybridge/northbridge: Prevent integer overflow
    
    Issue observed:
    Coreboot stops at: "Not enough MTRRs available!"
    
    Test system:
    * Gigabyte GA-B75M-D3H
    * Intel Pentium CPU G2130
    * ATI Radeon HD4780
    
    Problem description:
    In case the IGD does not claim VGA decode, the code path taken results
    in an integer overflow as uma_memory_base isn't initialized.
    The MTRR assignment will fail, because of invalid memory regions.
    
    Problem solution:
    Properly initialize uma_memory_base to prevent possible integer overflow.
    
    Final testing results:
    The system boots again with IGD not claiming VGA decode.
    
    Change-Id: I025be23b1defb6155469a3eee66569e49a695e7f
    Signed-off-by: Patrick Rudolph <siro at das-labor.org>
---
 src/northbridge/intel/sandybridge/northbridge.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/northbridge/intel/sandybridge/northbridge.c b/src/northbridge/intel/sandybridge/northbridge.c
index 76f03f3..5c1f366 100644
--- a/src/northbridge/intel/sandybridge/northbridge.c
+++ b/src/northbridge/intel/sandybridge/northbridge.c
@@ -189,6 +189,7 @@ static void pci_domain_set_resources(device_t dev)
 
 	printk(BIOS_DEBUG, "MEBASE 0x%llx\n", me_base);
 
+	uma_memory_base = tolud;
 	tomk = tolud >> 10;
 	if (me_base == tolud) {
 		/* ME is from MEBASE-TOM */



More information about the coreboot-gerrit mailing list