crypto: caam - Use struct_size()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sat, 22 Jul 2023 14:53:58 +0000 (16:53 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 28 Jul 2023 10:20:25 +0000 (18:20 +0800)
Use struct_size() instead of hand-writing it, when allocating a structure
with a flex array.

This is less verbose, more robust and more informative.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Reviewed-by: Gaurav Jain <gaurav.jain@nxp.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/caam/caamhash.c

index 80deb00..9e5924e 100644 (file)
@@ -708,9 +708,8 @@ static struct ahash_edesc *ahash_edesc_alloc(struct ahash_request *req,
        gfp_t flags = (req->base.flags & CRYPTO_TFM_REQ_MAY_SLEEP) ?
                       GFP_KERNEL : GFP_ATOMIC;
        struct ahash_edesc *edesc;
-       unsigned int sg_size = sg_num * sizeof(struct sec4_sg_entry);
 
-       edesc = kzalloc(sizeof(*edesc) + sg_size, flags);
+       edesc = kzalloc(struct_size(edesc, sec4_sg, sg_num), flags);
        if (!edesc) {
                dev_err(ctx->jrdev, "could not allocate extended descriptor\n");
                return NULL;