From d055475773b5741276edb818fb27478f532487b4 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Fri, 27 Jul 2018 11:30:46 -0700 Subject: dlmalloc: use static magic constant for debug images Avoids crashes on restarts if svm root region backing file was not cleaned up. Change-Id: I608cf5711aa8c3f9620900473bdf76bde8b918de Signed-off-by: Florin Coras --- src/vppinfra/dlmalloc.c | 3 +++ src/vppinfra/dlmalloc.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/vppinfra/dlmalloc.c b/src/vppinfra/dlmalloc.c index 2199d876e91..e5bd1e8a899 100644 --- a/src/vppinfra/dlmalloc.c +++ b/src/vppinfra/dlmalloc.c @@ -1765,6 +1765,9 @@ static int init_mparams(void) { #endif magic |= (size_t)8U; /* ensure nonzero */ magic &= ~(size_t)7U; /* improve chances of fault for bad values */ +#ifdef DLM_MAGIC_CONSTANT + magic = DLM_MAGIC_CONSTANT; +#endif /* Until memory modes commonly available, use volatile-write */ (*(volatile size_t *)(&(mparams.magic))) = magic; } diff --git a/src/vppinfra/dlmalloc.h b/src/vppinfra/dlmalloc.h index b3278f9dc50..b8e32367400 100644 --- a/src/vppinfra/dlmalloc.h +++ b/src/vppinfra/dlmalloc.h @@ -528,6 +528,7 @@ MAX_RELEASE_CHECK_RATE default: 4095 unless not HAVE_MMAP #if CLIB_DEBUG > 0 #define FOOTERS 1 /* extra debugging */ +#define DLM_MAGIC_CONSTANT 0xdeaddabe #endif #define USE_LOCKS 1 #define DLM_ABORT {extern void os_panic(void); os_panic(); abort();} -- cgit 1.2.3-korg