diff options
author | Maksim Panchenko <maks@fb.com> | 2023-02-25 18:23:53 -0800 |
---|---|---|
committer | Maksim Panchenko <maks@fb.com> | 2023-02-27 14:11:10 -0800 |
commit | fb28196a642a12599c1251b9d1587b398a479fca (patch) | |
tree | 6f07257bef5fd9f491604df80e5865738163adf5 /llvm/lib/Object/WasmObjectFile.cpp | |
parent | 4364e2429cd4e3a640cbb84e565420fcfa830478 (diff) | |
download | llvm-fb28196a642a12599c1251b9d1587b398a479fca.zip llvm-fb28196a642a12599c1251b9d1587b398a479fca.tar.gz llvm-fb28196a642a12599c1251b9d1587b398a479fca.tar.bz2 |
[BOLT] Fix intermittent crash with instrumentation
When createInstrumentedIndirectCall() was invoked for tail calls, we
attached annotation instruction twice to the new call instruction.
First in createDirectCall(), and then again while copying over the
metadata operands.
As a result, the annotations were not properly stripped for such calls
before the call to freeAnnotations() in LowerAnnotations pass. That lead
to use-after-free while restoring the offsets with setOffset() call.
Reviewed By: yota9
Differential Revision: https://reviews.llvm.org/D144806
Diffstat (limited to 'llvm/lib/Object/WasmObjectFile.cpp')
0 files changed, 0 insertions, 0 deletions