svm: fix coverity warning 48/30048/2
authorFlorin Coras <fcoras@cisco.com>
Fri, 20 Nov 2020 15:34:53 +0000 (07:34 -0800)
committerFlorin Coras <fcoras@cisco.com>
Fri, 20 Nov 2020 15:41:49 +0000 (07:41 -0800)
Type: fix

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Icead1cbff69cf652fa566a79645c89864b6f3a0f

src/svm/fifo_segment.c

index b0f41a9..815c5a2 100644 (file)
@@ -63,13 +63,13 @@ fsh_update_free_bytes (fifo_segment_header_t * fsh)
 }
 
 static inline void
-fsh_cached_bytes_add (fifo_segment_header_t * fsh, int size)
+fsh_cached_bytes_add (fifo_segment_header_t * fsh, uword size)
 {
   clib_atomic_fetch_add_rel (&fsh->n_cached_bytes, size);
 }
 
 static inline void
-fsh_cached_bytes_sub (fifo_segment_header_t * fsh, int size)
+fsh_cached_bytes_sub (fifo_segment_header_t * fsh, uword size)
 {
   clib_atomic_fetch_sub_rel (&fsh->n_cached_bytes, size);
 }
@@ -515,14 +515,15 @@ fsh_try_alloc_chunk_batch (fifo_segment_header_t * fsh,
                           fifo_segment_slice_t * fss,
                           u32 fl_index, u32 batch_size)
 {
-  u32 rounded_data_size;
   svm_fifo_chunk_t *c, *head = 0, *tail;
+  uword size, total_chunk_bytes;
+  u32 rounded_data_size;
   void *oldheap;
-  uword size;
   u8 *cmem;
   int i;
 
   rounded_data_size = fs_freelist_index_to_size (fl_index);
+  total_chunk_bytes = (uword) batch_size *rounded_data_size;
   size = (uword) (sizeof (*c) + rounded_data_size) * batch_size;
 
   oldheap = ssvm_push_heap (fsh->ssvm_sh);
@@ -549,8 +550,8 @@ fsh_try_alloc_chunk_batch (fifo_segment_header_t * fsh,
 
   fss_chunk_free_list_push_list (fss, fl_index, head, tail);
   fss->num_chunks[fl_index] += batch_size;
-  fss_fl_chunk_bytes_add (fss, batch_size * rounded_data_size);
-  fsh_cached_bytes_add (fsh, batch_size * rounded_data_size);
+  fss_fl_chunk_bytes_add (fss, total_chunk_bytes);
+  fsh_cached_bytes_add (fsh, total_chunk_bytes);
   fsh_free_bytes_sub (fsh, size);
 
   return 0;