diff options
Diffstat (limited to 'contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc')
-rw-r--r-- | contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc b/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc index 6cdddfbad84d..4834daef6003 100644 --- a/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc +++ b/contrib/llvm-project/compiler-rt/lib/gwp_asan/options.inc @@ -10,7 +10,18 @@ #error "Define GWP_ASAN_OPTION prior to including this file!" #endif -GWP_ASAN_OPTION(bool, Enabled, true, "Is GWP-ASan enabled? Defaults to true.") +#ifndef GWP_ASAN_DEFAULT_ENABLED +#define GWP_ASAN_DEFAULT_ENABLED true +#endif + +#ifndef GWP_ASAN_STRINGIFY +#define GWP_ASAN_STRINGIFY(S) GWP_ASAN_STRINGIFY_(S) +#define GWP_ASAN_STRINGIFY_(S) #S +#endif + +GWP_ASAN_OPTION(bool, Enabled, GWP_ASAN_DEFAULT_ENABLED, + "Is GWP-ASan enabled? Defaults to " GWP_ASAN_STRINGIFY( + GWP_ASAN_DEFAULT_ENABLED) ".") GWP_ASAN_OPTION( bool, PerfectlyRightAlign, false, @@ -29,7 +40,7 @@ GWP_ASAN_OPTION(int, MaxSimultaneousAllocations, 16, GWP_ASAN_OPTION(int, SampleRate, 5000, "The probability (1 / SampleRate) that an allocation is " "selected for GWP-ASan sampling. Default is 5000. Sample rates " - "up to (2^31 - 1) are supported.") + "up to (2^30 - 1) are supported.") // Developer note - This option is not actually processed by GWP-ASan itself. It // is included here so that a user can specify whether they want signal handlers @@ -51,3 +62,18 @@ GWP_ASAN_OPTION( GWP_ASAN_OPTION(bool, InstallForkHandlers, true, "Install GWP-ASan atfork handlers to acquire internal locks " "before fork and release them after.") + +GWP_ASAN_OPTION(bool, help, false, "Print a summary of the available options.") + +// ============================================================================= +// ==== WARNING +// ============================================================================= +// If you are adding flags to GWP-ASan, please note that GWP-ASan flag strings +// may be parsed by trusted system components (on Android, GWP-ASan flag strings +// are parsed by libc during the dynamic loader). This means that GWP-ASan +// should never feature flags like log paths on disk, because this can lead to +// arbitrary file write and thus privilege escalation. For an example, see the +// setuid ASan log_path exploits: https://www.exploit-db.com/exploits/46241. +// +// Please place all new flags above this warning, so that the warning always +// stays at the bottom. |