On 02/09/2013 01:23 PM, Borislav Petkov wrote:
On Sat, Feb 09, 2013 at 12:52:01PM -0800, H. Peter Anvin wrote:
However... DF should have been cleared long before this...

How about we do this at the beginning of default_entry where we clear
EFLAGS too:

diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
index fc56613224c3..8b2a8a824fc6 100644
--- a/arch/x86/kernel/head_32.S
+++ b/arch/x86/kernel/head_32.S
@@ -322,10 +322,11 @@ default_entry:
   * debugger if this code is traced. Best to initialize before switching to
   * protected mode.
   */
-
        pushl $0
        popfl

+       cld                             # GCC wants DF=0 at all times
+

The pushfl/popfl sequence clears DF too...

        -hpa


--
H. Peter Anvin, Intel Open Source Technology Center
I work for Intel.  I don't speak on their behalf.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to