intel_agp: Don't oops with zero stolen memory
PATCH 1/1 intel_agp: Don't oops with zero stolen memory
When "onboard video memory" is set do "disabled" in BIOS on Asus P4P800-VM board (i865G), kernel oopses with memory corruption:
https://bugs.freedesktop.org/show_bug.cgi?id=28430
Fix that by cleanly aborting the initialization.
Signed-off-by Ondrej Zary <[email protected]>
drivers/char/agp/intel-gtt.c +14 -0
@@ -797,6 +797,10 @@ static int intel_i830_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
@@ -1279,6 +1283,11 @@ static int intel_i915_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.gtt); +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
@@ -1387,6 +1396,11 @@ static int intel_i965_create_gatt_table(/* we have to call this as early as possible after the MMIO base address is known */ intel_i830_init_gtt_entries (); +if (intel_private.gtt_entries ==0 ) { +iounmap (intel_private.gtt); +iounmap (intel_private.registers); +return -ENOMEM ; + } agp_bridge->gatt_table =NULL ;
Signature · 1 line
Ondrej Zary