On 2024/11/4 20:17, Chen Ridong wrote: > From: Chen Ridong <chenridong@xxxxxxxxxx> > > 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: 9d12ba86f818 ("crypto: brcm - Add Broadcom SPU driver") > Signed-off-by: Chen Ridong <chenridong@xxxxxxxxxx> > --- > drivers/crypto/bcm/cipher.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/drivers/crypto/bcm/cipher.c b/drivers/crypto/bcm/cipher.c > index 7540eb7cd331..9e6798efbfb7 100644 > --- a/drivers/crypto/bcm/cipher.c > +++ b/drivers/crypto/bcm/cipher.c > @@ -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) > { > + int ret; > struct iproc_reqctx_s *rctx = ahash_request_ctx(req); > struct crypto_ahash *tfm = crypto_ahash_reqtfm(req); > 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"); > > /* init the context as a hash */ > - ahash_init(req); > + ret = ahash_init(req); > + if (ret) > + return ret; > > if (!spu_no_incr_hash(ctx)) { > /* SPU-M can do incr hashing but needs sw for outer HMAC */ Friendly ping.