[lkml]   [2017]   [Nov]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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 <>
> 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?

 \ /
  Last update: 2017-11-24 14:48    [W:0.141 / U:2.440 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site