svm: fix active fifo ll on attach 53/31353/2
authorFlorin Coras <fcoras@cisco.com>
Thu, 18 Feb 2021 22:43:32 +0000 (14:43 -0800)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 18 Feb 2021 23:18:26 +0000 (23:18 +0000)
Type: fix

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

src/svm/fifo_segment.c

index 76cc046..02886bc 100644 (file)
@@ -787,6 +787,9 @@ fs_fifo_free (fifo_segment_t *fs, svm_fifo_t *f)
   u32 slice_index = f->shr->slice_index;
   fifo_slice_private_t *pfss;
 
+  if (CLIB_DEBUG)
+    clib_memset (f, 0xfc, sizeof (*f));
+
   pfss = &fs->slices[slice_index];
   clib_mem_bulk_free (pfss->fifos, f);
 }
@@ -976,6 +979,7 @@ fifo_segment_attach_fifo (fifo_segment_t *fs, svm_fifo_t **f, u32 slice_index)
   fss = fsh_slice_get (fs->h, slice_index);
   pfss = fs_slice_private_get (fs, slice_index);
   fss->virtual_mem += svm_fifo_size (nf);
+  nf->next = nf->prev = 0;
   if (nf->flags & SVM_FIFO_F_LL_TRACKED)
     pfss_fifo_add_active_list (pfss, nf);