]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
crypto: qat - use kcalloc() in qat_uclo_map_objs_from_mof()
authorQianfeng Rong <rongqianfeng@vivo.com>
Thu, 21 Aug 2025 14:20:26 +0000 (22:20 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Sat, 30 Aug 2025 07:43:26 +0000 (15:43 +0800)
As noted in the kernel documentation [1], open-coded multiplication in
allocator arguments is discouraged because it can lead to integer overflow.

Use kcalloc() to gain built-in overflow protection, making memory
allocation safer when calculating allocation size compared to explicit
multiplication.  Similarly, use size_add() instead of explicit addition
for 'uobj_chunk_num + sobj_chunk_num'.

Link: https://www.kernel.org/doc/html/next/process/deprecated.html#open-coded-arithmetic-in-allocator-arguments
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/intel/qat/qat_common/qat_uclo.c

index 21d652a1c8ef306ba210ea227ed14ec5627c54c7..18c3e4416dc51ed0e275cb4ab29dd67556caa370 100644 (file)
@@ -1900,7 +1900,7 @@ static int qat_uclo_map_objs_from_mof(struct icp_qat_mof_handle *mobj_handle)
        if (sobj_hdr)
                sobj_chunk_num = sobj_hdr->num_chunks;
 
-       mobj_hdr = kzalloc((uobj_chunk_num + sobj_chunk_num) *
+       mobj_hdr = kcalloc(size_add(uobj_chunk_num, sobj_chunk_num),
                           sizeof(*mobj_hdr), GFP_KERNEL);
        if (!mobj_hdr)
                return -ENOMEM;