lkml.org 
[lkml]   [2018]   [Feb]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH 2/2] x86/retpoline: Fix return buffer filling
    On Mon, Feb 12, 2018 at 04:04:22PM -0800, Andi Kleen wrote:
    > From: Andi Kleen <ak@linux.intel.com>
    >
    > An earlier patch moved the RSB filling out of line, ending
    > it with a return. This results in the return buffer filling
    > only giving 15 instead of 16 usable returns because
    > the return from fill_rsb already uses one up.

    Or, we can get rid of the RET:

    ---
    diff --git a/arch/x86/lib/retpoline.S b/arch/x86/lib/retpoline.S
    index 480edc3a5e03..359130ceaa64 100644
    --- a/arch/x86/lib/retpoline.S
    +++ b/arch/x86/lib/retpoline.S
    @@ -91,7 +91,8 @@ GENERATE_THUNK(r15)

    ENTRY(__fill_rsb)
    STUFF_RSB RSB_FILL_LOOPS, %_ASM_SP
    - ret
    + pop %_ASM_BX
    + jmp *%_ASM_BX
    END(__fill_rsb)
    EXPORT_SYMBOL_GPL(__fill_rsb)

    @@ -99,6 +100,7 @@ EXPORT_SYMBOL_GPL(__fill_rsb)

    ENTRY(__clear_rsb)
    STUFF_RSB RSB_CLEAR_LOOPS, %_ASM_SP
    - ret
    + pop %_ASM_BX
    + jmp *%_ASM_BX
    END(__clear_rsb)
    EXPORT_SYMBOL_GPL(__clear_rsb)
    --
    Regards/Gruss,
    Boris.

    Good mailing practices for 400: avoid top-posting and trim the reply.

    \
     
     \ /
      Last update: 2018-02-13 12:22    [W:4.580 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site