lkml.org 
[lkml]   [2021]   [Jul]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 108/167] s390/boot: fix use of expolines in the DMA code
    Date
    From: Alexander Egorenkov <egorenar@linux.ibm.com>

    commit 463f36c76fa4ec015c640ff63ccf52e7527abee0 upstream.

    The DMA code section of the decompressor must be compiled with expolines
    if Spectre V2 mitigation has been enabled for the decompressed kernel.
    This is required because although the decompressor's image contains
    the DMA code section, it is handed over to the decompressed kernel for use.

    Because the DMA code is already slow w/o expolines, use expolines always
    regardless whether the decompressed kernel is using them or not. This
    simplifies the DMA code by dropping the conditional compilation of
    expolines.

    Fixes: bf72630130c2 ("s390: use proper expoline sections for .dma code")
    Cc: <stable@vger.kernel.org> # 5.2
    Signed-off-by: Alexander Egorenkov <egorenar@linux.ibm.com>
    Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    arch/s390/boot/text_dma.S | 19 ++++---------------
    1 file changed, 4 insertions(+), 15 deletions(-)

    --- a/arch/s390/boot/text_dma.S
    +++ b/arch/s390/boot/text_dma.S
    @@ -9,16 +9,6 @@
    #include <asm/errno.h>
    #include <asm/sigp.h>

    -#ifdef CC_USING_EXPOLINE
    - .pushsection .dma.text.__s390_indirect_jump_r14,"axG"
    -__dma__s390_indirect_jump_r14:
    - larl %r1,0f
    - ex 0,0(%r1)
    - j .
    -0: br %r14
    - .popsection
    -#endif
    -
    .section .dma.text,"ax"
    /*
    * Simplified version of expoline thunk. The normal thunks can not be used here,
    @@ -27,11 +17,10 @@ __dma__s390_indirect_jump_r14:
    * affects a few functions that are not performance-relevant.
    */
    .macro BR_EX_DMA_r14
    -#ifdef CC_USING_EXPOLINE
    - jg __dma__s390_indirect_jump_r14
    -#else
    - br %r14
    -#endif
    + larl %r1,0f
    + ex 0,0(%r1)
    + j .
    +0: br %r14
    .endm

    /*

    \
     
     \ /
      Last update: 2021-07-26 18:43    [W:3.638 / U:0.396 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site