[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171124134740.6dmv6nfo5ihrkj3f@hirez.programming.kicks-ass.net>
Date: Fri, 24 Nov 2017 14:47:40 +0100
From: Peter Zijlstra <peterz@...radead.org>
To: Ingo Molnar <mingo@...nel.org>
Cc: linux-kernel@...r.kernel.org,
Dave Hansen <dave.hansen@...ux.intel.com>,
Andy Lutomirski <luto@...capital.net>,
Thomas Gleixner <tglx@...utronix.de>,
"H . Peter Anvin" <hpa@...or.com>, Borislav Petkov <bp@...en8.de>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: [PATCH 30/43] x86/mm/kaiser: Map espfix structures
On Fri, Nov 24, 2017 at 10:14:35AM +0100, Ingo Molnar wrote:
> From: Dave Hansen <dave.hansen@...ux.intel.com>
>
> There is some rather arcane code to help when an IRET returns
> to 16-bit segments. It is referred to as the "espfix" code.
> This consists of a few per-cpu variables:
>
> espfix_stack: tells us where the stack is allocated
> (the bottom)
> espfix_waddr: tells us to where %rsp may be pointed
> (the top)
>
> These are in addition to the stack itself. All three things must
> be mapped for the espfix code to function.
>
> Note: the espfix code runs with a kernel GSBASE, but user
> (shadow) page tables. A switch to the kernel page tables could
> be performed instead of mapping these structures, but mapping
> them is simpler and less likely to break the assembly. To switch
> over to the kernel copy, additional temporary storage would be
> required which is in short supply in this context.
With Andy's patches that should actually be doable, no?
Powered by blists - more mailing lists