Commit 6806fa8b authored by H. Peter Anvin's avatar H. Peter Anvin Committed by Ben Hutchings

x86-32, espfix: Remove filter for espfix32 due to race

commit 246f2d2e upstream.

It is not safe to use LAR to filter when to go down the espfix path,
because the LDT is per-process (rather than per-thread) and another
thread might change the descriptors behind our back.  Fortunately it
is always *safe* (if a bit slow) to go down the espfix path, and a
32-bit LDT stack segment is extremely rare.
Signed-off-by: default avatarH. Peter Anvin <hpa@linux.intel.com>
Link: http://lkml.kernel.org/r/1398816946-3351-1-git-send-email-hpa@linux.intel.comSigned-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
parent 1280d204
...@@ -553,11 +553,6 @@ ENTRY(iret_exc) ...@@ -553,11 +553,6 @@ ENTRY(iret_exc)
CFI_RESTORE_STATE CFI_RESTORE_STATE
ldt_ss: ldt_ss:
larl PT_OLDSS(%esp), %eax
jnz restore_nocheck
testl $0x00400000, %eax # returning to 32bit stack?
jnz restore_nocheck # allright, normal return
#ifdef CONFIG_PARAVIRT #ifdef CONFIG_PARAVIRT
/* /*
* The kernel can't run on a non-flat stack if paravirt mode * The kernel can't run on a non-flat stack if paravirt mode
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment