From d660683d3ddc2aaebf41a5662a6bc629be016e6d Mon Sep 17 00:00:00 2001 From: Qi Wang Date: Thu, 30 Dec 2021 13:27:23 -0800 Subject: [PATCH] Fix test config of lg_san_uaf_align. The option may be configure-disabled, which resulted in the invalid options output from the tests. --- test/include/test/san.h | 8 ++++++++ test/unit/tcache_max.c | 3 +++ test/unit/tcache_max.sh | 2 +- test/unit/uaf.c | 6 +++++- test/unit/uaf.sh | 3 --- 5 files changed, 17 insertions(+), 5 deletions(-) delete mode 100644 test/unit/uaf.sh diff --git a/test/include/test/san.h b/test/include/test/san.h index 691dc508..da07865c 100644 --- a/test/include/test/san.h +++ b/test/include/test/san.h @@ -1,3 +1,11 @@ +#if defined(JEMALLOC_UAF_DETECTION) || defined(JEMALLOC_DEBUG) +# define TEST_SAN_UAF_ALIGN_ENABLE "lg_san_uaf_align:12" +# define TEST_SAN_UAF_ALIGN_DISABLE "lg_san_uaf_align:-1" +#else +# define TEST_SAN_UAF_ALIGN_ENABLE "" +# define TEST_SAN_UAF_ALIGN_DISABLE "" +#endif + static inline bool extent_is_guarded(tsdn_t *tsdn, void *ptr) { edata_t *edata = emap_edata_lookup(tsdn, &arena_emap_global, ptr); diff --git a/test/unit/tcache_max.c b/test/unit/tcache_max.c index 7b4217d6..1f657c85 100644 --- a/test/unit/tcache_max.c +++ b/test/unit/tcache_max.c @@ -1,4 +1,7 @@ #include "test/jemalloc_test.h" +#include "test/san.h" + +const char *malloc_conf = TEST_SAN_UAF_ALIGN_DISABLE; enum { alloc_option_start = 0, diff --git a/test/unit/tcache_max.sh b/test/unit/tcache_max.sh index 278c4ad5..4480d733 100644 --- a/test/unit/tcache_max.sh +++ b/test/unit/tcache_max.sh @@ -1,3 +1,3 @@ #!/bin/sh -export MALLOC_CONF="tcache_max:1024,lg_san_uaf_align:-1" +export MALLOC_CONF="tcache_max:1024" diff --git a/test/unit/uaf.c b/test/unit/uaf.c index 880aee4f..a8433c29 100644 --- a/test/unit/uaf.c +++ b/test/unit/uaf.c @@ -1,9 +1,13 @@ #include "test/jemalloc_test.h" #include "test/arena_util.h" +#include "test/san.h" #include "jemalloc/internal/cache_bin.h" +#include "jemalloc/internal/san.h" #include "jemalloc/internal/safety_check.h" +const char *malloc_conf = TEST_SAN_UAF_ALIGN_ENABLE; + static size_t san_uaf_align; static bool fake_abort_called; @@ -28,7 +32,7 @@ test_write_after_free_post(void) { static bool uaf_detection_enabled(void) { - if (!config_uaf_detection) { + if (!config_uaf_detection || !san_uaf_detection_enabled()) { return false; } diff --git a/test/unit/uaf.sh b/test/unit/uaf.sh deleted file mode 100644 index 5f12dcf6..00000000 --- a/test/unit/uaf.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -export MALLOC_CONF="lg_san_uaf_align:12"