From b2ed105fe5e32bfd66f61ebacaa9439f3268c5af Mon Sep 17 00:00:00 2001 From: Seshendra Gadagottu Date: Tue, 11 Jun 2019 15:23:25 -0700 Subject: [PATCH] gpu: nvgpu: fix CERT-C errors in common.gr.falcon Used nvgpu_safe_mult_u32 function for u32 multiplications to avoid CERT INT 30-C errors. JIRA NVGPU-3622 Change-Id: Id945910a586c00be0f0cdad941b17023db66b23b Signed-off-by: Seshendra Gadagottu Reviewed-on: https://git-master.nvidia.com/r/2134621 Reviewed-by: mobile promotions Tested-by: mobile promotions --- drivers/gpu/nvgpu/common/gr/gr_falcon.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/nvgpu/common/gr/gr_falcon.c b/drivers/gpu/nvgpu/common/gr/gr_falcon.c index 05b425399..4614c5267 100644 --- a/drivers/gpu/nvgpu/common/gr/gr_falcon.c +++ b/drivers/gpu/nvgpu/common/gr/gr_falcon.c @@ -318,12 +318,16 @@ int nvgpu_gr_falcon_init_ctxsw_ucode(struct gk20a *g, ucode_size = 0; nvgpu_gr_falcon_init_ctxsw_ucode_segments(&ucode_info->fecs, &ucode_size, fecs_boot_desc, - nvgpu_netlist_get_fecs_inst_count(g) * (u32)sizeof(u32), - nvgpu_netlist_get_fecs_data_count(g) * (u32)sizeof(u32)); + nvgpu_safe_mult_u32( + nvgpu_netlist_get_fecs_inst_count(g), (u32)sizeof(u32)), + nvgpu_safe_mult_u32( + nvgpu_netlist_get_fecs_data_count(g), (u32)sizeof(u32))); nvgpu_gr_falcon_init_ctxsw_ucode_segments(&ucode_info->gpccs, &ucode_size, gpccs_boot_desc, - nvgpu_netlist_get_gpccs_inst_count(g) * (u32)sizeof(u32), - nvgpu_netlist_get_gpccs_data_count(g) * (u32)sizeof(u32)); + nvgpu_safe_mult_u32( + nvgpu_netlist_get_gpccs_inst_count(g), (u32)sizeof(u32)), + nvgpu_safe_mult_u32( + nvgpu_netlist_get_gpccs_data_count(g), (u32)sizeof(u32))); err = nvgpu_dma_alloc_sys(g, ucode_size, &ucode_info->surface_desc); if (err != 0) {