mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 19:08:57 +09:00
crypto: bcm - add error check in the ahash_hmac_init function
[ Upstream commit 19630cf57233e845b6ac57c9c969a4888925467b ]
The ahash_init functions may return fails. The ahash_hmac_init should
not return ok when ahash_init returns error. For an example, ahash_init
will return -ENOMEM when allocation memory is error.
Fixes: 9d12ba86f8 ("crypto: brcm - Add Broadcom SPU driver")
Signed-off-by: Chen Ridong <chenridong@huawei.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e951b29237
commit
05f0a3f547
@@ -2415,6 +2415,7 @@ static int ahash_hmac_setkey(struct crypto_ahash *ahash, const u8 *key,
|
|||||||
|
|
||||||
static int ahash_hmac_init(struct ahash_request *req)
|
static int ahash_hmac_init(struct ahash_request *req)
|
||||||
{
|
{
|
||||||
|
int ret;
|
||||||
struct iproc_reqctx_s *rctx = ahash_request_ctx(req);
|
struct iproc_reqctx_s *rctx = ahash_request_ctx(req);
|
||||||
struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
|
struct crypto_ahash *tfm = crypto_ahash_reqtfm(req);
|
||||||
struct iproc_ctx_s *ctx = crypto_ahash_ctx(tfm);
|
struct iproc_ctx_s *ctx = crypto_ahash_ctx(tfm);
|
||||||
@@ -2424,7 +2425,9 @@ static int ahash_hmac_init(struct ahash_request *req)
|
|||||||
flow_log("ahash_hmac_init()\n");
|
flow_log("ahash_hmac_init()\n");
|
||||||
|
|
||||||
/* init the context as a hash */
|
/* init the context as a hash */
|
||||||
ahash_init(req);
|
ret = ahash_init(req);
|
||||||
|
if (ret)
|
||||||
|
return ret;
|
||||||
|
|
||||||
if (!spu_no_incr_hash(ctx)) {
|
if (!spu_no_incr_hash(ctx)) {
|
||||||
/* SPU-M can do incr hashing but needs sw for outer HMAC */
|
/* SPU-M can do incr hashing but needs sw for outer HMAC */
|
||||||
|
|||||||
Reference in New Issue
Block a user