summaryrefslogtreecommitdiffstats
path: root/mm/mm_init.c
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2019-01-18 11:58:07 +0100
committerKees Cook <keescook@chromium.org>2019-01-20 14:06:40 -0800
commit2c88c742d011707b55da7b54b06a030c6f57233f (patch)
treeed580e8080a047597b44f12afc534adc3dce43c3 /mm/mm_init.c
parent560706d5d2589ef510f5436d69ab510a351b8cf7 (diff)
downloadlinux-stable-2c88c742d011707b55da7b54b06a030c6f57233f.tar.gz
linux-stable-2c88c742d011707b55da7b54b06a030c6f57233f.tar.bz2
linux-stable-2c88c742d011707b55da7b54b06a030c6f57233f.zip
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>
Diffstat (limited to 'mm/mm_init.c')
0 files changed, 0 insertions, 0 deletions