summaryrefslogtreecommitdiffstats
path: root/src/svm
diff options
context:
space:
mode:
Diffstat (limited to 'src/svm')
-rw-r--r--src/svm/svm.c4
-rw-r--r--src/svm/svm_common.h4
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