Factor checks under separate feature flags. (#587)
All the checks and mitigations have been placed under feature flags. These can be controlled by defining SNMALLOC_CHECK_CLIENT_MITIGATIONS This can take a term that represents the mitigations that should be enabled. E.g. -DSNMALLOC_CHECK_CLIENT_MITIGATIONS=nochecks+random_pagemap The CMake uses this to build numerous versions of the LD_PRELOAD library and tests to allow individual features to be benchmarked. Co-authored-by: Nathaniel Wesley Filardo <nfilardo@microsoft.com>
This commit is contained in:
committed by
GitHub
parent
848db74cfc
commit
ccca98a709
@@ -129,11 +129,8 @@ namespace snmalloc
|
||||
|
||||
int main()
|
||||
{
|
||||
# if defined(SNMALLOC_CHECK_CLIENT)
|
||||
static constexpr bool pagemap_randomize = !aal_supports<StrictProvenance>;
|
||||
# else
|
||||
static constexpr bool pagemap_randomize = false;
|
||||
# endif
|
||||
static constexpr bool pagemap_randomize =
|
||||
mitigations(random_pagemap) & !aal_supports<StrictProvenance>;
|
||||
|
||||
snmalloc::CustomConfig::Pagemap::concretePagemap.init<pagemap_randomize>();
|
||||
snmalloc::CustomConfig::Authmap::init();
|
||||
|
||||
@@ -81,11 +81,8 @@ void test_pagemap(bool bounded)
|
||||
}
|
||||
else
|
||||
{
|
||||
#if defined(SNMALLOC_CHECK_CLIENT)
|
||||
static constexpr bool pagemap_randomize = !aal_supports<StrictProvenance>;
|
||||
#else
|
||||
static constexpr bool pagemap_randomize = false;
|
||||
#endif
|
||||
static constexpr bool pagemap_randomize =
|
||||
mitigations(random_pagemap) && !aal_supports<StrictProvenance>;
|
||||
|
||||
pagemap_test_unbound.init<pagemap_randomize>();
|
||||
pagemap_test_unbound.register_range(low, high - low);
|
||||
|
||||
Reference in New Issue
Block a user