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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Fri, 29 Feb 2008 22:06:59 +0000
From:	Mark McLoughlin <markmc@...hat.com>
To:	Alexander van Heukelum <heukelum@...tmail.fm>
Cc:	Alexander van Heukelum <heukelum@...lshack.com>,
	Ingo Molnar <mingo@...e.hu>, Ian Campbell <ijc@...lion.org.uk>,
	"H. Peter Anvin" <hpa@...or.com>, Andi Kleen <ak@...e.de>,
	Thomas Gleixner <tglx@...utronix.de>,
	Jeremy Fitzhardinge <jeremy@...p.org>,
	LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] reserve end-of-conventional-memory to 1MB on 32-bit

On Fri, 2008-02-29 at 19:38 +0100, Alexander van Heukelum wrote:
> On Fri, 29 Feb 2008 17:14:07 +0000, "Mark McLoughlin"
> <markmc@...hat.com> said:
>  
> > 	I haven't investigated in any detail, but with 2.6.25-rc3 and your
> > patch I'm seeing a Xen guest hit this BUG:
> > 
> > void __init smp_alloc_memory(void)
> > {
> >         trampoline_base = alloc_bootmem_low_pages(PAGE_SIZE);
> >         /*                                                                
> >          * Has to be in very low memory so we can execute                 
> >          * real-mode AP code.                                             
> >          */
> >         if (__pa(trampoline_base) >= 0x9F000)
> >                 BUG();
> > }
> > 
> > 	Stack looks like:
> > 
> >   [<c137ef97>] smp_alloc_memory+0x25  <--
> >   [<c137ef97>] smp_alloc_memory+0x25 
> >   [<c137a500>] setup_arch+0x28e 
> >   [<c13735f7>] start_kernel+0x7a 
> >   [<c1379240>] xen_start_kernel+0x300 
> 
> Ouch.
> 
> My first guess is that the BIOS data area is completely non-existent for
> Xen.
> Is it guaranteed that the memory is zeroed out on boot?

Yep, that seems to be the case

> In that case we can special-case it easily:
> 
> change:
>         /* Paranoia: should never happen, but... */
>         if (lowmem >= 0x100000)
>                 lowmem = 0xa0000;
> 
> into:
>         /* Strange case, like Xen ;) */
>         if (lowmem == 0 || lowmem >= 0x100000)
>                 lowmem = 0x9f000;
> 
> Can you test that?

Yes, that fixes boot for me.

Thanks,
Mark.

--
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ