lkml.org 
[lkml]   [2019]   [Mar]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.0 017/238] crypto: ccree - unmap buffer before copying IV
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Gilad Ben-Yossef <gilad@benyossef.com>

    commit c139c72e2beb3e3db5148910b3962b7322e24374 upstream.

    We were copying the last ciphertext block into the IV field
    for CBC before removing the DMA mapping of the output buffer
    with the result of the buffer sometime being out-of-sync cache
    wise and were getting intermittent cases of bad output IV.

    Fix it by moving the DMA buffer unmapping before the copy.

    Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
    Fixes: 00904aa0cd59 ("crypto: ccree - fix iv handling")
    Cc: <stable@vger.kernel.org>
    Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/crypto/ccree/cc_cipher.c | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    --- a/drivers/crypto/ccree/cc_cipher.c
    +++ b/drivers/crypto/ccree/cc_cipher.c
    @@ -653,6 +653,8 @@ static void cc_cipher_complete(struct de
    unsigned int ivsize = crypto_skcipher_ivsize(sk_tfm);
    unsigned int len;

    + cc_unmap_cipher_request(dev, req_ctx, ivsize, src, dst);
    +
    switch (ctx_p->cipher_mode) {
    case DRV_CIPHER_CBC:
    /*
    @@ -682,7 +684,6 @@ static void cc_cipher_complete(struct de
    break;
    }

    - cc_unmap_cipher_request(dev, req_ctx, ivsize, src, dst);
    kzfree(req_ctx->iv);

    skcipher_request_complete(req, err);

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