lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 2 Jun 2008 15:30:33 -0700 From: Andrew Morton <akpm@...ux-foundation.org> To: Pavel Machek <pavel@...e.cz> Cc: linux-kernel@...r.kernel.org, mingo@...e.hu, davej@...emonkey.org.uk, andi@...stfloor.org, Thomas Gleixner <tglx@...utronix.de> Subject: Re: aperture_64.c: corner case wrong On Mon, 26 May 2008 21:17:30 +0200 Pavel Machek <pavel@...e.cz> wrote: > > If > > fix == 0, aper_enabled == 1, gart_fix_e820 == 0 > > if (!fix && !aper_enabled) > return; > > if (gart_fix_e820 && !fix && aper_enabled) { > if (e820_any_mapped(aper_base, aper_base + aper_size, > E820_RAM)) { > /* reserve it, so we can reuse it in second > kernel */ > printk(KERN_INFO "update e820 for GART\n"); > add_memory_region(aper_base, aper_size, > E820_RESERVED); > update_e820(); > } > return; > } > > /* different nodes have different setting, disable them all atfirst*/ > > we'll fall back here and disable all the settings, even when they were > all consistent. > > What about this? (I hope it compiles...) > > Signed-off-by: Pavel Machek <pavel@...e.cz> > > > diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c > index 02f4dba..aa4876a 100644 > --- a/arch/x86/kernel/aperture_64.c > +++ b/arch/x86/kernel/aperture_64.c > @@ -344,14 +323,16 @@ out: > if (gart_fix_e820 && !fix && aper_enabled) { > if (!e820_all_mapped(aper_base, aper_base + aper_size, > E820_RESERVED)) { > /* reserve it, so we can reuse it in second kernel */ > printk(KERN_INFO "update e820 for GART\n"); > add_memory_region(aper_base, aper_size, E820_RESERVED); > update_e820(); > } > - return; > } > > + if (!fix) > + return; > + > /* different nodes have different setting, disable them all at first*/ > for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { > int bus; > So what happened with this? Thomas has merged an "x86: aperture_64.c: cleanups" from yourself but it appears that half of this bugfix got applied somewhere and the below part did not? diff -puN arch/x86/kernel/aperture_64.c~aperture_64c-corner-case-wrong arch/x86/kernel/aperture_64.c --- a/arch/x86/kernel/aperture_64.c~aperture_64c-corner-case-wrong +++ a/arch/x86/kernel/aperture_64.c @@ -331,6 +331,9 @@ out: return; } + if (!fix) + return; + /* different nodes have different setting, disable them all at first*/ for (i = 0; i < ARRAY_SIZE(bus_dev_ranges); i++) { int bus; _ -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists