8fb2dfb228
Currently the 'stackleak_cleanup' pass deleting a CALL insn is executed after the 'reload' pass. That allows gcc to do some weird optimization in function prologues and epilogues, which are generated later [1]. Let's avoid that by registering the 'stackleak_cleanup' pass before the '*free_cfg' pass. It's the moment when the stack frame size is already final, function prologues and epilogues are generated, and the machine-dependent code transformations are not done. [1] https://www.openwall.com/lists/kernel-hardening/2018/11/23/2 Reported-by: kbuild test robot <lkp@intel.com> Signed-off-by: Alexander Popov <alex.popov@linux.com> Signed-off-by: Kees Cook <keescook@chromium.org> |
||
---|---|---|
.. | ||
.gitignore | ||
cyc_complexity_plugin.c | ||
gcc-common.h | ||
gcc-generate-gimple-pass.h | ||
gcc-generate-ipa-pass.h | ||
gcc-generate-rtl-pass.h | ||
gcc-generate-simple_ipa-pass.h | ||
gen-random-seed.sh | ||
Kconfig | ||
latent_entropy_plugin.c | ||
Makefile | ||
randomize_layout_plugin.c | ||
sancov_plugin.c | ||
stackleak_plugin.c | ||
structleak_plugin.c |