Merge "crypto: msm: reset pointer before returning from the function"
This commit is contained in:
commit
cce73b6eb4
2 changed files with 17 additions and 9 deletions
|
@ -1,6 +1,6 @@
|
|||
/* Qualcomm CE device driver.
|
||||
*
|
||||
* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2010-2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -843,6 +843,7 @@ static int qcedev_sha_final(struct qcedev_async_req *qcedev_areq,
|
|||
memset(&handle->sha_ctxt.trailing_buf[0], 0, 64);
|
||||
|
||||
kzfree(k_buf_src);
|
||||
qcedev_areq->sha_req.sreq.src = NULL;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1012,6 +1013,7 @@ static int qcedev_hmac_get_ohash(struct qcedev_async_req *qcedev_areq,
|
|||
handle->sha_ctxt.first_blk = 0;
|
||||
|
||||
kzfree(k_src);
|
||||
qcedev_areq->sha_req.sreq.src = NULL;
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1166,8 +1168,10 @@ static int qcedev_vbuf_ablk_cipher_max_xfer(struct qcedev_async_req *areq,
|
|||
if (err == 0 && copy_to_user(
|
||||
(void __user *)creq->vbuf.dst[dst_i].vaddr,
|
||||
(k_align_dst + byteoffset),
|
||||
creq->vbuf.dst[dst_i].len))
|
||||
return -EFAULT;
|
||||
creq->vbuf.dst[dst_i].len)) {
|
||||
err = -EFAULT;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
k_align_dst += creq->vbuf.dst[dst_i].len +
|
||||
byteoffset;
|
||||
|
@ -1176,9 +1180,11 @@ static int qcedev_vbuf_ablk_cipher_max_xfer(struct qcedev_async_req *areq,
|
|||
} else {
|
||||
if (err == 0 && copy_to_user(
|
||||
(void __user *)creq->vbuf.dst[dst_i].vaddr,
|
||||
(k_align_dst + byteoffset),
|
||||
creq->data_len))
|
||||
return -EFAULT;
|
||||
(k_align_dst + byteoffset),
|
||||
creq->data_len)) {
|
||||
err = -EFAULT;
|
||||
goto exit;
|
||||
}
|
||||
|
||||
k_align_dst += creq->data_len;
|
||||
creq->vbuf.dst[dst_i].len -= creq->data_len;
|
||||
|
@ -1187,7 +1193,9 @@ static int qcedev_vbuf_ablk_cipher_max_xfer(struct qcedev_async_req *areq,
|
|||
}
|
||||
}
|
||||
*di = dst_i;
|
||||
|
||||
exit:
|
||||
areq->cipher_req.creq.src = NULL;
|
||||
areq->cipher_req.creq.dst = NULL;
|
||||
return err;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/* Qualcomm Crypto driver
|
||||
*
|
||||
* Copyright (c) 2010-2017, The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2010-2018, The Linux Foundation. All rights reserved.
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License version 2 and
|
||||
|
@ -3923,7 +3923,7 @@ static int _sha_hmac_setkey(struct crypto_ahash *tfm, const u8 *key,
|
|||
struct qcrypto_sha_ctx *sha_ctx = crypto_tfm_ctx(&tfm->base);
|
||||
uint8_t *in_buf;
|
||||
int ret = 0;
|
||||
struct scatterlist sg;
|
||||
struct scatterlist sg = {0};
|
||||
struct ahash_request *ahash_req;
|
||||
struct completion ahash_req_complete;
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue