svm: fix high segment base address for ASan 69/29969/2
authorBenoît Ganne <bganne@cisco.com>
Tue, 17 Nov 2020 16:58:59 +0000 (17:58 +0100)
committerFlorin Coras <florin.coras@gmail.com>
Thu, 19 Nov 2020 15:35:00 +0000 (15:35 +0000)
AddressSanitizer has specific requirements on memory map. In particular,
the range [0x00007fff8000, 0x10007fff7fff] is reserved for ASan use.

Type: fix
Fixes: f260eb97866978746ebd3f3441dc66e4ff7111cd

Change-Id: Ie96c4dd88b4f02d7fc5c24464572ff72cb6fd96b
Signed-off-by: Benoît Ganne <bganne@cisco.com>
src/svm/svm_common.h

index ec5e70b..3a3db5d 100644 (file)
@@ -82,7 +82,7 @@ typedef struct svm_map_region_args_
  */
 #if __WORDSIZE == 64
 #ifdef CLIB_SANITIZE_ADDR
-#define HIGH_SEGMENT_BASEVA 0x2000000000
+#define HIGH_SEGMENT_BASEVA 0x300000000000     /* DO NOT CHANGE THIS: YOU'LL BREAK ASAN */
 #else /* CLIB_SANITIZE_ADDR */
 #define HIGH_SEGMENT_BASEVA (128ULL << 30)     /* 128GB */
 #endif /* CLIB_SANITIZE_ADDR */