|
@@ -458,6 +458,13 @@ config GCC_PLUGIN_STRUCTLEAK
|
|
|
* https://grsecurity.net/
|
|
|
* https://pax.grsecurity.net/
|
|
|
|
|
|
+config GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
|
|
|
+ bool "Force initialize all struct type variables passed by reference"
|
|
|
+ depends on GCC_PLUGIN_STRUCTLEAK
|
|
|
+ help
|
|
|
+ Zero initialize any struct type local variable that may be passed by
|
|
|
+ reference without having been initialized.
|
|
|
+
|
|
|
config GCC_PLUGIN_STRUCTLEAK_VERBOSE
|
|
|
bool "Report forcefully initialized variables"
|
|
|
depends on GCC_PLUGIN_STRUCTLEAK
|
|
@@ -473,11 +480,13 @@ config GCC_PLUGIN_RANDSTRUCT
|
|
|
depends on GCC_PLUGINS
|
|
|
select MODVERSIONS if MODULES
|
|
|
help
|
|
|
- If you say Y here, the layouts of structures explicitly
|
|
|
- marked by __randomize_layout will be randomized at
|
|
|
- compile-time. This can introduce the requirement of an
|
|
|
- additional information exposure vulnerability for exploits
|
|
|
- targeting these structure types.
|
|
|
+ If you say Y here, the layouts of structures that are entirely
|
|
|
+ function pointers (and have not been manually annotated with
|
|
|
+ __no_randomize_layout), or structures that have been explicitly
|
|
|
+ marked with __randomize_layout, will be randomized at compile-time.
|
|
|
+ This can introduce the requirement of an additional information
|
|
|
+ exposure vulnerability for exploits targeting these structure
|
|
|
+ types.
|
|
|
|
|
|
Enabling this feature will introduce some performance impact,
|
|
|
slightly increase memory usage, and prevent the use of forensic
|