aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
diff options
context:
space:
mode:
authorserge_sans_paille <sguelton@redhat.com>2019-09-09 16:59:34 +0200
committerserge-sans-paille <sguelton@redhat.com>2020-02-08 13:31:52 +0100
commite229017732bcf1911210903ee9811033d5588e0d (patch)
tree39e5edcfd4d07fc0f1096d80f6b3c3974ca3e021 /llvm/lib/Transforms/Utils/CallGraphUpdater.cpp
parentef83d46b6b428fa1c8614cd28ab6fe3f07f8d075 (diff)
downloadllvm-e229017732bcf1911210903ee9811033d5588e0d.zip
llvm-e229017732bcf1911210903ee9811033d5588e0d.tar.gz
llvm-e229017732bcf1911210903ee9811033d5588e0d.tar.bz2
Support -fstack-clash-protection for x86
Implement protection against the stack clash attack [0] through inline stack probing. Probe stack allocation every PAGE_SIZE during frame lowering or dynamic allocation to make sure the page guard, if any, is touched when touching the stack, in a similar manner to GCC[1]. This extends the existing `probe-stack' mechanism with a special value `inline-asm'. Technically the former uses function call before stack allocation while this patch provides inlined stack probes and chunk allocation. Only implemented for x86. [0] https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt [1] https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00556.html This a recommit of 39f50da2a357a8f685b3540246c5d762734e035f with better option handling and more portable testing Differential Revision: https://reviews.llvm.org/D68720
Diffstat (limited to 'llvm/lib/Transforms/Utils/CallGraphUpdater.cpp')
0 files changed, 0 insertions, 0 deletions