lkml.org 
[lkml]   [2015]   [Oct]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v14 17/24] x86/asm/crypto: Create stack frames in clmul_ghash_mul/update()
    Date
    clmul_ghash_mul() and clmul_ghash_update() are callable non-leaf
    functions which don't honor CONFIG_FRAME_POINTER, which can result in
    bad stack traces.

    Create stack frames for them when CONFIG_FRAME_POINTER is enabled.

    Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    Cc: Herbert Xu <herbert@gondor.apana.org.au>
    Cc: David S. Miller <davem@davemloft.net>
    ---
    arch/x86/crypto/ghash-clmulni-intel_asm.S | 5 +++++
    1 file changed, 5 insertions(+)

    diff --git a/arch/x86/crypto/ghash-clmulni-intel_asm.S b/arch/x86/crypto/ghash-clmulni-intel_asm.S
    index 5d1e007..eed55c8 100644
    --- a/arch/x86/crypto/ghash-clmulni-intel_asm.S
    +++ b/arch/x86/crypto/ghash-clmulni-intel_asm.S
    @@ -18,6 +18,7 @@

    #include <linux/linkage.h>
    #include <asm/inst.h>
    +#include <asm/frame.h>

    .data

    @@ -94,6 +95,7 @@ ENDPROC(__clmul_gf128mul_ble)

    /* void clmul_ghash_mul(char *dst, const u128 *shash) */
    ENTRY(clmul_ghash_mul)
    + FRAME_BEGIN
    movups (%rdi), DATA
    movups (%rsi), SHASH
    movaps .Lbswap_mask, BSWAP
    @@ -101,6 +103,7 @@ ENTRY(clmul_ghash_mul)
    call __clmul_gf128mul_ble
    PSHUFB_XMM BSWAP DATA
    movups DATA, (%rdi)
    + FRAME_END
    ret
    ENDPROC(clmul_ghash_mul)

    @@ -109,6 +112,7 @@ ENDPROC(clmul_ghash_mul)
    * const u128 *shash);
    */
    ENTRY(clmul_ghash_update)
    + FRAME_BEGIN
    cmp $16, %rdx
    jb .Lupdate_just_ret # check length
    movaps .Lbswap_mask, BSWAP
    @@ -128,5 +132,6 @@ ENTRY(clmul_ghash_update)
    PSHUFB_XMM BSWAP DATA
    movups DATA, (%rdi)
    .Lupdate_just_ret:
    + FRAME_END
    ret
    ENDPROC(clmul_ghash_update)
    --
    2.4.3


    \
     
     \ /
      Last update: 2015-10-21 18:21    [W:6.852 / U:0.148 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site