crypto: qat - use struct_size() helper
PATCH 1/1 crypto: qat - use struct_size() helper
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct qat_alg_buf_list {
...
struct qat_alg_buf bufers[];
} __packed __aligned(64);Make use of the struct_size() helper instead of an open-coded version in order to avoid any potential type mistakes.
So, replace the following form:
sizeof(struct qat_alg_buf_list) + ((1 + n) * sizeof(struct qat_alg_buf))
with:
struct_size(bufl, bufers, n + 1)
This code was detected with the help of Coccinelle.
--- drivers/crypto/qat/qat_common/qat_algs.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
drivers/crypto/qat/qat_common/qat_algs.c +2 -4
@@ -717,8 +717,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst,dma_addr_t blp;dma_addr_t bloutp =0 ;struct scatterlist *sg; -size_t sz_out, sz =sizeof (struct qat_alg_buf_list ) + - ((1 + n) *sizeof (struct qat_alg_buf )); +size_t sz_out, sz =struct_size (bufl, bufers, n +1 );if (unlikely (!n))return -EINVAL ;
@@ -755,8 +754,7 @@ static int qat_alg_sgl_to_bufl(struct qat_crypto_instance *inst,struct qat_alg_buf *bufers; n =sg_nents (sglout); - sz_out =sizeof (struct qat_alg_buf_list ) + - ((1 + n) *sizeof (struct qat_alg_buf )); + sz_out =struct_size (buflout, bufers, n +1 ); sg_nctr =0 ; buflout =kzalloc_node (sz_out,GFP_ATOMIC ,dev_to_node (&GET_DEV (inst->accel_dev)));
Signature · 1 line
2.21.0
Herbert Xu
maintainerQuoted 18 lines · Gustavo A. R. Silva
One of the more common cases of allocation size calculations is finding the size of a structure that has a zero-sized array at the end, along with memory for some number of elements for that array. For example:
struct qat_alg_buf_list { ... struct qat_alg_buf bufers[]; } __packed __aligned(64);Make use of the
struct_size()helper instead of an open-coded version in order to avoid any potential type mistakes.So, replace the following form:
sizeof(struct qat_alg_buf_list)+ ((1 + n) *sizeof(struct qat_alg_buf))with:
Quoted 8 lines
struct_size(bufl, bufers, n + 1)This code was detected with the help of Coccinelle.
Signed-off-by Gustavo A. R. Silva <[email protected]>--- drivers/crypto/qat/qat_common/qat_algs.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
Patch applied. Thanks.
Signature · 3 lines
Email: Herbert Xu <[email protected]> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt