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 018/238] crypto: ccree - dont copy zero size ciphertext
    Date
    5.0-stable review patch.  If anyone has any objections, please let me know.

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

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

    commit 2b5ac17463dcb2411fed506edcf259a89bb538ba upstream.

    For decryption in CBC mode we need to save the last ciphertext block
    for use as the next IV. However, we were trying to do this also with
    zero sized ciphertext resulting in a panic.

    Fix this by only doing the copy if the ciphertext length is at least
    of IV size.

    Signed-off-by: Gilad Ben-Yossef <gilad@benyossef.com>
    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
    @@ -801,7 +801,8 @@ static int cc_cipher_decrypt(struct skci

    memset(req_ctx, 0, sizeof(*req_ctx));

    - if (ctx_p->cipher_mode == DRV_CIPHER_CBC) {
    + if ((ctx_p->cipher_mode == DRV_CIPHER_CBC) &&
    + (req->cryptlen >= ivsize)) {

    /* Allocate and save the last IV sized bytes of the source,
    * which will be lost in case of in-place decryption.

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