lkml.org 
[lkml]   [2020]   [Jun]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.7 207/376] crypto: stm32/crc32 - fix run-time self test issue.
    Date
    From: Nicolas Toromanoff <nicolas.toromanoff@st.com>

    [ Upstream commit a8cc3128bf2c01c4d448fe17149e87132113b445 ]

    Fix wrong crc32 initialisation value:
    "alg: shash: stm32_crc32 test failed (wrong result) on test vector 0,
    cfg="init+update+final aligned buffer"
    cra_name="crc32c" expects an init value of 0XFFFFFFFF,
    cra_name="crc32" expects an init value of 0.

    Fixes: b51dbe90912a ("crypto: stm32 - Support for STM32 CRC32 crypto module")

    Signed-off-by: Nicolas Toromanoff <nicolas.toromanoff@st.com>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/crypto/stm32/stm32-crc32.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/crypto/stm32/stm32-crc32.c b/drivers/crypto/stm32/stm32-crc32.c
    index c6156bf6c603..1c3e411b7acb 100644
    --- a/drivers/crypto/stm32/stm32-crc32.c
    +++ b/drivers/crypto/stm32/stm32-crc32.c
    @@ -28,10 +28,10 @@

    /* Registers values */
    #define CRC_CR_RESET BIT(0)
    -#define CRC_INIT_DEFAULT 0xFFFFFFFF
    #define CRC_CR_REV_IN_WORD (BIT(6) | BIT(5))
    #define CRC_CR_REV_IN_BYTE BIT(5)
    #define CRC_CR_REV_OUT BIT(7)
    +#define CRC32C_INIT_DEFAULT 0xFFFFFFFF

    #define CRC_AUTOSUSPEND_DELAY 50

    @@ -65,7 +65,7 @@ static int stm32_crc32_cra_init(struct crypto_tfm *tfm)
    {
    struct stm32_crc_ctx *mctx = crypto_tfm_ctx(tfm);

    - mctx->key = CRC_INIT_DEFAULT;
    + mctx->key = 0;
    mctx->poly = CRC32_POLY_LE;
    return 0;
    }
    @@ -74,7 +74,7 @@ static int stm32_crc32c_cra_init(struct crypto_tfm *tfm)
    {
    struct stm32_crc_ctx *mctx = crypto_tfm_ctx(tfm);

    - mctx->key = CRC_INIT_DEFAULT;
    + mctx->key = CRC32C_INIT_DEFAULT;
    mctx->poly = CRC32C_POLY_LE;
    return 0;
    }
    --
    2.25.1


    \
     
     \ /
      Last update: 2020-06-19 17:48    [W:4.137 / U:0.024 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site