lkml.org 
[lkml]   [2012]   [Dec]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Date
SubjectRe: [GIT PULL] x86/uapi for 3.8
On Mon, Dec 17, 2012 at 1:04 AM, Jan Beulich <JBeulich@suse.com> wrote:
>
> How about this being caused by using the same lower level
> page table entries that swapper_pg_dir uses, namely including
> the _PAGE_GLOBAL bits? efi_call_virt_{pre,epi}log() only write
> CR3 (see 185034e72d591f9465e5e18f937ed642e7ea0070), but
> would need to also flip CR4.PGE afaict.

Now *this* is the kind of issue that I could easily see causing major
corruption, but be subtle enough to not happen reliably. Coming back
from the EFI calls (or going into them) with stale TLB contents due to
global pages could explain things.

Good thinking. That efi call code should use flush_tlb_kernel() (or
__flush_tlb_global() if it wants to avoid any paravirtualization
stuff) if it has global pages in different places from the normal
kernel map. Does it really have that?

Linus


\
 
 \ /
  Last update: 2012-12-17 17:21    [W:0.092 / U:2.740 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site