[PATCH] D104248: [compiler-rt][hwasan] Refactor Thread::Init

Vitaly Buka via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Tue Jun 15 15:21:59 PDT 2021


vitalybuka added inline comments.


================
Comment at: compiler-rt/lib/hwasan/hwasan_linux.cpp:430
 
+void Thread::Init(uptr stack_buffer_start, uptr stack_buffer_size) {
+  CHECK_EQ(0, unique_id_);  // try to catch bad stack reuse
----------------
leonardchan wrote:
> leonardchan wrote:
> > mcgrathr wrote:
> > > Most of this code can actually be reused for Fuchsia (just not necessarily in Thread::Init).
> > > It's probably better to split it up for reuse rather than just moving the whole thing to linux-specific.
> > So maybe something like the current patch? Then on Fuchsia we could (1) have a custom implementation of `InitStackAndTls`, (2) wrap the call to `Thread::InitStackRingBuffer` in `Thread::Init` with a `#if SANITIZER_FUCHSIA` so it's not called before thread creation, then (2) call `Thread::InitStackRingBuffer` in the `__sanitizer_thread_start_hook` hook.
> Sorry. Meant wrapping with a `#if !SANITIZER_FUCHSIA`.
in other sanitizers only GetThreadStackAndTls is platform specific



================
Comment at: compiler-rt/lib/hwasan/hwasan_thread.cpp:51
+
+void Thread::InitStackRingBuffer(uptr stack_buffer_start, uptr stack_buffer_size) {
   HwasanTSDThreadInit();  // Only needed with interceptors.
----------------
> clang-format: please reformat the code
please fix


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D104248/new/

https://reviews.llvm.org/D104248



More information about the cfe-commits mailing list