lkml.org 
[lkml]   [2009]   [May]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 12/14] x86, boot: zero EFLAGS on 32 bits
    Date
    From: H. Peter Anvin <hpa@zytor.com>

    The 64-bit code already clears EFLAGS as soon as it has a stack. This
    seems like a reasonable precaution, so do it on 32 bits as well.

    [ Impact: extra paranoia ]

    Signed-off-by: H. Peter Anvin <hpa@zytor.com>
    ---
    arch/x86/boot/compressed/head_32.S | 10 ++++++++--
    1 files changed, 8 insertions(+), 2 deletions(-)

    diff --git a/arch/x86/boot/compressed/head_32.S b/arch/x86/boot/compressed/head_32.S
    index 47636b3..48c2047 100644
    --- a/arch/x86/boot/compressed/head_32.S
    +++ b/arch/x86/boot/compressed/head_32.S
    @@ -12,9 +12,9 @@
    * the page directory. [According to comments etc elsewhere on a compressed
    * kernel it will end up at 0x1000 + 1Mb I hope so as I assume this. - AC]
    *
    - * Page 0 is deliberately kept safe, since System Management Mode code in
    + * Page 0 is deliberately kept safe, since System Management Mode code in
    * laptops may need to access the BIOS data stored there. This is also
    - * useful for future device drivers that either access the BIOS via VM86
    + * useful for future device drivers that either access the BIOS via VM86
    * mode.
    */

    @@ -84,6 +84,12 @@ ENTRY(startup_32)
    leal boot_stack_end(%ebx), %esp

    /*
    + * Zero EFLAGS
    + */
    + pushl $0
    + popfl
    +
    +/*
    * Copy the compressed kernel to the end of our buffer
    * where decompression in place becomes safe.
    */
    --
    1.6.0.6


    \
     
     \ /
      Last update: 2009-05-08 00:35    [W:0.034 / U:61.268 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site