zero-init everything passed by reference (very strong)
configname: CONFIG_GCC_PLUGIN_STRUCTLEAK_BYREF_ALL
Initialize kernel stack variables at function entry
└─>zero-init everything passed by reference (very strong)
In linux kernel since version 3.10 (release Date: 2013-06-30)
Zero-initialize any stack variables that may be passed
by reference and had not already been explicitly
initialized. This is intended to eliminate all classes
of uninitialized stack variable exploits and information
exposures.
As a side-effect, this keeps a lot of variables on the
stack that can otherwise be optimized out, so combining
this with CONFIG_KASAN_STACK can lead to a stack overflow
and is disallowed.
by reference and had not already been explicitly
initialized. This is intended to eliminate all classes
of uninitialized stack variable exploits and information
exposures.
As a side-effect, this keeps a lot of variables on the
stack that can otherwise be optimized out, so combining
this with CONFIG_KASAN_STACK can lead to a stack overflow
and is disallowed.
depends
CONFIG_GCC_PLUGINSNOT CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO
NOT CONFIG_KASAN or NOT CONFIG_KASAN_STACK