diff options
Diffstat (limited to 'src/svm')
-rw-r--r-- | src/svm/fifo_segment.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/svm/fifo_segment.c b/src/svm/fifo_segment.c index 76cc046efec..02886bc7c8f 100644 --- a/src/svm/fifo_segment.c +++ b/src/svm/fifo_segment.c @@ -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); |