[PATCH] D44699: [HWASan] Port HWASan to Linux x86-64 (LLVM)

Aleksey Shlyapnikov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 20 14:01:32 PDT 2018


alekseyshl created this revision.
alekseyshl added a reviewer: eugenis.
Herald added a subscriber: kristof.beyls.

Porting HWASan to Linux x86-64, first of the three patches, LLVM part.

The approach is similar to ARM case, trap signal is used to communicate
memory tag check failure. int3 instruction is used to generate a signal,
access parameters are stored in nop [eax + offset] instruction immediately
following the int3 one.

One notable difference is that x86-64 has to untag the pointer before use
due to the lack of feature comparable to ARM's TBI (Top Byte Ignore).


Repository:
  rL LLVM

https://reviews.llvm.org/D44699

Files:
  lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
  test/Instrumentation/HWAddressSanitizer/X86/atomic.ll
  test/Instrumentation/HWAddressSanitizer/X86/basic.ll
  test/Instrumentation/HWAddressSanitizer/X86/kernel.ll
  test/Instrumentation/HWAddressSanitizer/X86/with-calls.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44699.139192.patch
Type: text/x-patch
Size: 29789 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180320/6dab282b/attachment.bin>


More information about the llvm-commits mailing list