[coverity] fix coverity issues
authorYelin Jeong <yelini.jeong@samsung.com>
Wed, 28 Jun 2023 05:14:08 +0000 (14:14 +0900)
committer추지호/SoC Architecture팀(SR)/삼성전자 <jiho.chu@samsung.com>
Wed, 28 Jun 2023 08:04:20 +0000 (17:04 +0900)
This patch fixes sign_extension and tainted_int warning

Signed-off-by: Yelin Jeong <yelini.jeong@samsung.com>
src/core/ne-profiler.cc
src/core/npu/NPUdrvAPI_emul.cc
tests/apptests/tvn_triv2_dmabuf.cc
utils/trinity_cuse/trinity-cuse-triv2.cc

index 74c4d34cc30f53ca9dd715fc6dcb9f54d1520e43..f3c1951621b3096e67f0f5487584525d821beffa 100644 (file)
@@ -150,7 +150,7 @@ ModelProfiler::manipulateProfile (HWmem *extended, npu_profile *profile) {
 
     if (node_num > 0) {
       uint32_t *node_ids = (uint32_t *) (meta_profile->entry_data + pos);
-
+      int64_t num = static_cast<int64_t>(node_num);
       for (uint32_t j = 0; j < node_num; j++) {
         uint32_t node_id = node_ids[j];
         auto it = node_table.find (node_id);
@@ -159,15 +159,15 @@ ModelProfiler::manipulateProfile (HWmem *extended, npu_profile *profile) {
           npu_profile_layer *layer = it->second;
 
           /** TODO: evenly divided to fused layers */
-          layer->running_cycles += profile->layers[i].running_cycles / node_num;
+          layer->running_cycles += profile->layers[i].running_cycles / num;
           if (layer->start_cycles == 0)
             layer->start_cycles = profile->layers[i].start_cycles;
           if (layer->end_cycles < profile->layers[i].end_cycles)
             layer->end_cycles = profile->layers[i].end_cycles;
-          layer->dram_read_bytes += profile->layers[i].dram_read_bytes / node_num;
-          layer->dram_write_bytes += profile->layers[i].dram_write_bytes / node_num;
-          layer->sram_read_bytes += profile->layers[i].sram_read_bytes / node_num;
-          layer->sram_write_bytes += profile->layers[i].sram_write_bytes / node_num;
+          layer->dram_read_bytes += profile->layers[i].dram_read_bytes / num;
+          layer->dram_write_bytes += profile->layers[i].dram_write_bytes / num;
+          layer->sram_read_bytes += profile->layers[i].sram_read_bytes / num;
+          layer->sram_write_bytes += profile->layers[i].sram_write_bytes / num;
           layer->visa_exec_seq = -1;
         } else {
           std::cerr << "Unable to find the node ID " << node_id << std::endl;
index bc37a8eba04bec86f10575a4d0a58643c5e5253d..699c5077ad68f9e1514a3698b7fbc389597b5251 100644 (file)
@@ -59,7 +59,7 @@ parseProfile23 (std::ifstream *ifs, npu_profile *profile) {
   total_dump += head.dsp_dma_in.num_of_dump;
   total_dump += head.dsp_dma_out.num_of_dump;
 
-  if (total_dump > 0) {
+  if (total_dump > 0 && total_dump < UINT32_MAX) {
     profile->layers = new npu_profile_layer[total_dump];
     profile->num_layers = total_dump;
     profile->total_system_cycles = head.total_cycles;
@@ -166,7 +166,7 @@ parseProfile24 (std::ifstream *ifs, npu_profile *profile) {
   /* Digital Signal Processor (DSP) */
   total_dump += head.dsp.num_of_dump;
 
-  if (total_dump > 0) {
+  if (total_dump > 0 && total_dump < UINT32_MAX) {
     profile->layers = new npu_profile_layer[total_dump];
     profile->num_layers = total_dump;
     profile->total_system_cycles = head.total_cycles;
index 7a0e1f70ee574904d5f43a27b4ab2bf55de9b324..6b70a9911a4f4343a82158b1ecbb9891b3b04b4c 100644 (file)
@@ -126,7 +126,7 @@ class TesterTRIV2 {
     for (uint32_t idx = 0; idx < meta_->input_seg_num; idx++) {
       uint32_t input_seg_idx = meta_->input_seg_idx[idx];
       uint32_t input_seg_size = meta_->segment_size[input_seg_idx];
-      off_t input_seg_off = meta_->input_seg_off[idx];
+      uint32_t input_seg_off = meta_->input_seg_off[idx];
 
       std::string input_path;
       input_path = dir_ + "/input_fmap_" + std::to_string (idx) + ".bin";
index 34a6e75aa1aa7347155ee9a9a360d256c47605cb..2de8fce60291936a345b97236933d788f772f1a7 100644 (file)
@@ -228,14 +228,14 @@ class EmulProfile {
     total_dump += head.dsp_dma_in.num_of_dump;
     total_dump += head.dsp_dma_out.num_of_dump;
 
-    if (total_dump > 0) {
+    if (total_dump > 0 && total_dump < UINT32_MAX) {
       profile_.layers = new npu_profile_layer[total_dump];
       profile_.num_layers = total_dump;
       profile_.total_system_cycles = head.total_cycles;
-      profile_.dram_input_footprint = head.nna_dma_in.access_footprint_byte;
-      profile_.dram_output_footprint = head.nna_dma_out.access_footprint_byte;
-      profile_.dram_input_footprint += head.dsp_dma_in.access_footprint_byte;
-      profile_.dram_output_footprint += head.dsp_dma_out.access_footprint_byte;
+      profile_.dram_input_footprint = static_cast<int64_t>(head.nna_dma_in.access_footprint_byte);
+      profile_.dram_output_footprint = static_cast<int64_t>(head.nna_dma_out.access_footprint_byte);
+      profile_.dram_input_footprint += static_cast<int64_t>(head.dsp_dma_in.access_footprint_byte);
+      profile_.dram_output_footprint += static_cast<int64_t>(head.dsp_dma_out.access_footprint_byte);
 
       for (uint32_t i = 0; i < total_dump; i++) {
         npu_profile_layer *layer = &profile_.layers[i];
@@ -257,7 +257,7 @@ class EmulProfile {
         layer->running_cycles = common.cycle_end - common.cycle_start;
         layer->start_cycles = common.cycle_start;
         layer->end_cycles = common.cycle_end;
-        layer->visa_prog_seq = i;
+        layer->visa_prog_seq = static_cast<int64_t>(i);
         layer->visa_exec_seq = exec_seq_++;
 
         switch (common.block_id) {
@@ -272,16 +272,16 @@ class EmulProfile {
 
             layer->visa_opcode = 0x02;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_IN");
-            layer->dram_read_bytes = nna_dma.src_addr_end - nna_dma.src_addr_start;
-            layer->sram_write_bytes = nna_dma.dest_addr_end - nna_dma.dest_addr_start;
+            layer->dram_read_bytes = static_cast<int64_t>(nna_dma.src_addr_end - nna_dma.src_addr_start);
+            layer->sram_write_bytes = static_cast<int64_t>(nna_dma.dest_addr_end - nna_dma.dest_addr_start);
             break;
           case TRIV2PROF_BLOCKID_NNA_DMA_OUT:
             ifs.read ((char *) &nna_dma, sizeof (T2PF_DUMP_DMA));
 
             layer->visa_opcode = 0x03;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_OUT");
-            layer->dram_write_bytes = nna_dma.dest_addr_end - nna_dma.dest_addr_start;
-            layer->sram_read_bytes = nna_dma.src_addr_end - nna_dma.src_addr_start;
+            layer->dram_write_bytes = static_cast<int64_t>(nna_dma.dest_addr_end - nna_dma.dest_addr_start);
+            layer->sram_read_bytes = static_cast<int64_t>(nna_dma.src_addr_end - nna_dma.src_addr_start);
             break;
           case TRIV2PROF_BLOCKID_DSP:
             ifs.read ((char *) &dsp, sizeof (T2PF_DUMP_DSP));
@@ -294,16 +294,16 @@ class EmulProfile {
 
             layer->visa_opcode = 0x40;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "PDMA_IN");
-            layer->dram_read_bytes = dsp_dma.src_addr_end - dsp_dma.src_addr_start;
-            layer->sram_write_bytes = dsp_dma.dest_addr_end - dsp_dma.dest_addr_start;
+            layer->dram_read_bytes = static_cast<int64_t>(dsp_dma.src_addr_end - dsp_dma.src_addr_start);
+            layer->sram_write_bytes = static_cast<int64_t>(dsp_dma.dest_addr_end - dsp_dma.dest_addr_start);
             break;
           case TRIV2PROF_BLOCKID_DSP_DMA_OUT:
             ifs.read ((char *) &dsp_dma, sizeof (T2PF_DUMP_DMA));
 
             layer->visa_opcode = 0x41;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "PDMA_OUT");
-            layer->dram_write_bytes = dsp_dma.dest_addr_end - dsp_dma.dest_addr_start;
-            layer->sram_read_bytes = dsp_dma.src_addr_end - dsp_dma.src_addr_start;
+            layer->dram_write_bytes = static_cast<int64_t>(dsp_dma.dest_addr_end - dsp_dma.dest_addr_start);
+            layer->sram_read_bytes = static_cast<int64_t>(dsp_dma.src_addr_end - dsp_dma.src_addr_start);
             break;
           default:
             std::cerr << "Unknown block id detected: " << common.block_id << std::endl;
@@ -332,12 +332,12 @@ class EmulProfile {
     /* Digital Signal Processor (DSP) */
     total_dump += head.dsp.num_of_dump;
 
-    if (total_dump > 0) {
+    if (total_dump > 0 && total_dump < UINT32_MAX) {
       profile_.layers = new npu_profile_layer[total_dump];
       profile_.num_layers = total_dump;
       profile_.total_system_cycles = head.total_cycles;
-      profile_.dram_input_footprint = head.dma_in.access_footprint_byte;
-      profile_.dram_output_footprint = head.dma_out.access_footprint_byte;
+      profile_.dram_input_footprint = static_cast<int64_t>(head.dma_in.access_footprint_byte);
+      profile_.dram_output_footprint = static_cast<int64_t>(head.dma_out.access_footprint_byte);
 
       for (uint32_t i = 0; i < total_dump; i++) {
         npu_profile_layer *layer = &profile_.layers[i];
@@ -358,7 +358,7 @@ class EmulProfile {
         layer->running_cycles = common.cycle_end - common.cycle_start;
         layer->start_cycles = common.cycle_start;
         layer->end_cycles = common.cycle_end;
-        layer->visa_prog_seq = i;
+        layer->visa_prog_seq = static_cast<int64_t>(i);
         layer->visa_exec_seq = exec_seq_++;
 
         switch (common.block_id) {
@@ -374,16 +374,16 @@ class EmulProfile {
 
             layer->visa_opcode = 0x02;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_IN");
-            layer->dram_read_bytes = dma.src_addr_end - dma.src_addr_start;
-            layer->sram_write_bytes = dma.dest_addr_end - dma.dest_addr_start;
+            layer->dram_read_bytes = static_cast<int64_t>(dma.src_addr_end - dma.src_addr_start);
+            layer->sram_write_bytes = static_cast<int64_t>(dma.dest_addr_end - dma.dest_addr_start);
             break;
           case TRIV2PROF_BLOCKID_DMA_OUT:
             ifs.read ((char *) &dma, sizeof (T2PF_DUMP_DMA));
 
             layer->visa_opcode = 0x03;
             snprintf (layer->name, NPU_OPNAME_MAX, "%s", "ADMA_OUT");
-            layer->dram_write_bytes = dma.dest_addr_end - dma.dest_addr_start;
-            layer->sram_read_bytes = dma.src_addr_end - dma.src_addr_start;
+            layer->dram_write_bytes = static_cast<int64_t>(dma.dest_addr_end - dma.dest_addr_start);
+            layer->sram_read_bytes = static_cast<int64_t>(dma.src_addr_end - dma.src_addr_start);
             break;
           case TRIV2PROF_BLOCKID_DSP:
             ifs.read ((char *) &dsp, sizeof (T2PF_DUMP_DSP));