diff options
Diffstat (limited to 'src/svm')
-rw-r--r-- | src/svm/svm.c | 4 | ||||
-rw-r--r-- | src/svm/svm_common.h | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/svm/svm.c b/src/svm/svm.c index 421121957f0..cc49eb3c6e2 100644 --- a/src/svm/svm.c +++ b/src/svm/svm.c @@ -61,6 +61,10 @@ svm_get_root_rp (void) u64 svm_get_global_region_base_va () { +#ifdef CLIB_SANITIZE_ADDR + return 0x200000000000; +#endif + #if __aarch64__ /* On AArch64 VA space can have different size, from 36 to 48 bits. Here we are trying to detect VA bits by parsing /proc/self/maps diff --git a/src/svm/svm_common.h b/src/svm/svm_common.h index ce07c37b24e..ce317229916 100644 --- a/src/svm/svm_common.h +++ b/src/svm/svm_common.h @@ -81,7 +81,11 @@ typedef struct svm_map_region_args_ * Memory mapped to high addresses for session/vppcom/vcl/etc... */ #if __WORDSIZE == 64 +#ifdef CLIB_SANITIZE_ADDR +#define HIGH_SEGMENT_BASEVA 0x300000000000 +#else /* CLIB_SANITIZE_ADDR */ #define HIGH_SEGMENT_BASEVA (8ULL << 30) /* 8GB */ +#endif /* CLIB_SANITIZE_ADDR */ #elif __WORDSIZE == 32 #define HIGH_SEGMENT_BASEVA (3584UL << 20) /* 3.5GB */ #else |