OpenCloudOS-Kernel/scripts/gcc-plugins
Ard Biesheuvel 2c88c742d0 gcc-plugins: arm_ssp_per_task_plugin: fix for GCC 9+
GCC 9 reworks the way the references to the stack canary are
emitted, to prevent the value from being spilled to the stack
before the final comparison in the epilogue, defeating the
purpose, given that the spill slot is under control of the
attacker that we are protecting ourselves from.

Since our canary value address is obtained without accessing
memory (as opposed to pre-v7 code that will obtain it from a
literal pool), it is unlikely (although not guaranteed) that
the compiler will spill the canary value in the same way, so
let's just disable this improvement when building with GCC9+.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
2019-01-20 14:06:40 -08:00
..
.gitignore gcc-plugins: Add the randstruct plugin 2017-06-22 16:15:45 -07:00
Kconfig ARM: smp: add support for per-task stack canaries 2018-12-12 13:20:07 -08:00
Makefile gcc-plugins: remove unused GCC_PLUGIN_SUBDIR 2018-07-02 19:27:00 -07:00
arm_ssp_per_task_plugin.c gcc-plugins: arm_ssp_per_task_plugin: fix for GCC 9+ 2019-01-20 14:06:40 -08:00
cyc_complexity_plugin.c gcc-plugins: consolidate on PASS_INFO macro 2017-01-13 14:20:03 -08:00
gcc-common.h gcc-plugins: Clean up the cgraph_create_edge* macros 2018-07-24 16:14:06 -07:00
gcc-generate-gimple-pass.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gcc-generate-ipa-pass.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gcc-generate-rtl-pass.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gcc-generate-simple_ipa-pass.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
gen-random-seed.sh License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
latent_entropy_plugin.c gcc-plugins: Use dynamic initializers 2018-02-05 17:27:46 -08:00
randomize_layout_plugin.c security: convert security hooks to use hlist 2018-03-31 13:18:27 +11:00
sancov_plugin.c gcc-plugins: fix sancov_plugin for gcc-5 2017-02-27 14:10:10 -08:00
stackleak_plugin.c stackleak: Register the 'stackleak_cleanup' pass before the '*free_cfg' pass 2018-12-06 09:10:23 -08:00
structleak_plugin.c gcc-plugins: Use dynamic initializers 2018-02-05 17:27:46 -08:00