Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 547c5355 authored by Andrew Hastings's avatar Andrew Hastings Committed by Linus Torvalds
Browse files

x86_64: off-by-two error in aperture.c



I'm using a custom BIOS to configure the northbridge GART at address
0x80000000, size 2G.  Linux complains:

"Aperture from northbridge cpu 0 beyond 4GB. Ignoring."

I think there's an off-by-two error in arch/x86_64/kernel/aperture.c:

AK: use correct types for i386

Signed-off-by: default avatarAndi Kleen <ak@suse.de>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent fd0581bb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -86,7 +86,7 @@ static int __init aperture_valid(u64 aper_base, u32 aper_size)
		printk("Aperture too small (%d MB)\n", aper_size>>20);
		return 0;
	}
	if (aper_base + aper_size >= 0xffffffff) { 
	if (aper_base + aper_size > 0x100000000UL) {
		printk("Aperture beyond 4GB. Ignoring.\n");
		return 0; 
	}
+1 −1
Original line number Diff line number Diff line
@@ -476,7 +476,7 @@ static __init unsigned read_aperture(struct pci_dev *dev, u32 *size)
	aper_base <<= 25;

	aper_size = (32 * 1024 * 1024) << aper_order; 
	if (aper_base + aper_size >= 0xffffffff || !aper_size)
       if (aper_base + aper_size > 0x100000000UL || !aper_size)
		aper_base = 0;

	*size = aper_size;
+1 −1
Original line number Diff line number Diff line
@@ -268,7 +268,7 @@ static int __devinit aperture_valid(u64 aper, u32 size)
		printk(KERN_ERR PFX "Aperture too small (%d MB)\n", size>>20);
		return 0;
	}
	if (aper + size > 0xffffffff) {
       if ((u64)aper + size > 0x100000000ULL) {
		printk(KERN_ERR PFX "Aperture out of bounds\n");
		return 0;
	}