[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.20.1712202049340.1750@nanos>
Date: Wed, 20 Dec 2017 20:50:11 +0100 (CET)
From: Thomas Gleixner <tglx@...utronix.de>
To: Juergen Gross <jgross@...e.com>
cc: Ingo Molnar <mingo@...nel.org>,
Peter Zijlstra <peterz@...radead.org>,
Dave Hansen <dave.hansen@...el.com>,
LKML <linux-kernel@...r.kernel.org>, x86@...nel.org,
Linus Torvalds <torvalds@...ux-foundation.org>,
Andy Lutomirsky <luto@...nel.org>,
Borislav Petkov <bpetkov@...e.de>,
Greg KH <gregkh@...uxfoundation.org>, keescook@...gle.com,
hughd@...gle.com, Brian Gerst <brgerst@...il.com>,
Josh Poimboeuf <jpoimboe@...hat.com>,
Denys Vlasenko <dvlasenk@...hat.com>,
Rik van Riel <riel@...hat.com>,
Boris Ostrovsky <boris.ostrovsky@...cle.com>,
David Laight <David.Laight@...lab.com>,
Eduardo Valentin <eduval@...zon.com>, aliguori@...zon.com,
Will Deacon <will.deacon@....com>, daniel.gruss@...k.tugraz.at,
Dave Hansen <dave.hansen@...ux.intel.com>,
Borislav Petkov <bp@...e.de>, "H. Peter Anvin" <hpa@...or.com>
Subject: Re: [patch V163 27/51] x86/mm/pti: Populate user PGD
On Wed, 20 Dec 2017, Juergen Gross wrote:
> On 20/12/17 01:22, Thomas Gleixner wrote:
> > On Tue, 19 Dec 2017, Thomas Gleixner wrote:
> >> On Tue, 19 Dec 2017, Ingo Molnar wrote:
> >> We don't run out of space, but the 0-day robot triggered a nasty issue.
> >>
> >> The fixmap bottom address, which contains the early_ioremap fixmap area, is:
> >>
> >> vaddr_bt = FIXADDR_TOP - FIX_BTMAP_BEGIN * PAGE_SIZE
> >>
> >> If that address is lower than:
> >>
> >> vaddr_end = __START_KERNEL_map + KERNEL_IMAGE_SIZE;
> >>
> >> then cleanup_highmap() will happily 0 out the PMD entry for the PTE page of
> >> FIX_BTMAP. That entry was set up earlier in early_ioremap_init().
> >>
> >> As a consequence the first call to __early_set_fixmap() which tries to
> >> install a PTE for early_ioremap() will crash and burn.
> >>
> >> Below is a nasty hack which fixes the problem. Ideally we get all of this
> >> cpu_entry_stuff out of the fixmap. I'll look into that later, but for now
> >> the patch 'fixes' the issue.
> >
> > I had a stab on moving the cpu_entry_area to some other place.
> >
> > The patch below works, but:
> >
> > - it breaks i386 build because I have not yet found a way to place the
> > CPU_ENTRY_AREA_BASE without creating include recursion hell
> >
> > - it probably does not work on XEN_PV, but I'm too tired now to figure
> > that out.
>
> The attached patch lets the system come up as XEN_PV.
I folded it back to the proper place.
Thanks for looking!
tglx
Powered by blists - more mailing lists