Page MenuHomePhabricator

thurston (Thurston Dang)
User

Projects

User does not belong to any projects.

User Details

User Since
Jul 19 2016, 1:30 PM (342 w, 1 d)

Recent Activity

Tue, Jan 17

thurston committed rGfd9f04a555ff: tsan: fix broken aarch64_39/42 mappings and expand them (authored by thurston).
tsan: fix broken aarch64_39/42 mappings and expand them
Tue, Jan 17, 9:48 AM · Restricted Project, Restricted Project
thurston closed D141640: tsan: fix broken aarch64_39/42 mappings and expand them.
Tue, Jan 17, 9:48 AM · Restricted Project, Restricted Project

Thu, Jan 12

thurston added reviewers for D141640: tsan: fix broken aarch64_39/42 mappings and expand them: dvyukov, vitalybuka.
Thu, Jan 12, 3:18 PM · Restricted Project, Restricted Project
thurston requested review of D141640: tsan: fix broken aarch64_39/42 mappings and expand them.
Thu, Jan 12, 3:18 PM · Restricted Project, Restricted Project

Wed, Jan 11

thurston committed rGa7cf694c4950: tsan_shadow_test: add const qualifier (authored by thurston).
tsan_shadow_test: add const qualifier
Wed, Jan 11, 11:37 AM · Restricted Project, Restricted Project
thurston closed D141534: tsan_shadow_test: add const qualifier.
Wed, Jan 11, 11:37 AM · Restricted Project, Restricted Project
thurston added a reviewer for D141534: tsan_shadow_test: add const qualifier: vitalybuka.
Wed, Jan 11, 11:35 AM · Restricted Project, Restricted Project
thurston requested review of D141534: tsan_shadow_test: add const qualifier.
Wed, Jan 11, 11:34 AM · Restricted Project, Restricted Project
thurston committed rG682d635aa508: tsan: add kBrokenAliasedMetas condition and test (authored by thurston).
tsan: add kBrokenAliasedMetas condition and test
Wed, Jan 11, 10:24 AM · Restricted Project, Restricted Project
thurston closed D141445: tsan: add kBrokenAliasedMetas condition and test.
Wed, Jan 11, 10:24 AM · Restricted Project, Restricted Project
thurston updated the diff for D141445: tsan: add kBrokenAliasedMetas condition and test.

Change printf format string to avoid typecast warning

Wed, Jan 11, 10:14 AM · Restricted Project, Restricted Project
thurston updated the diff for D141445: tsan: add kBrokenAliasedMetas condition and test.

Fix style per Vitaly's comments

Wed, Jan 11, 9:11 AM · Restricted Project, Restricted Project

Tue, Jan 10

thurston added inline comments to D141445: tsan: add kBrokenAliasedMetas condition and test.
Tue, Jan 10, 7:39 PM · Restricted Project, Restricted Project
thurston added reviewers for D141445: tsan: add kBrokenAliasedMetas condition and test: dvyukov, vitalybuka.
Tue, Jan 10, 4:43 PM · Restricted Project, Restricted Project
thurston requested review of D141445: tsan: add kBrokenAliasedMetas condition and test.
Tue, Jan 10, 4:42 PM · Restricted Project, Restricted Project

Jan 9 2023

thurston committed rGdf3af581e711: tsan: increase app mappings for aarch64 48-bit (authored by thurston).
tsan: increase app mappings for aarch64 48-bit
Jan 9 2023, 10:53 AM · Restricted Project, Restricted Project
thurston closed D140923: tsan: increase app mappings for aarch64 48-bit.
Jan 9 2023, 10:53 AM · Restricted Project, Restricted Project

Jan 3 2023

thurston added a reviewer for D140923: tsan: increase app mappings for aarch64 48-bit: eugenis.
Jan 3 2023, 1:54 PM · Restricted Project, Restricted Project
thurston added reviewers for D140923: tsan: increase app mappings for aarch64 48-bit: dvyukov, vitalybuka.
Jan 3 2023, 1:50 PM · Restricted Project, Restricted Project
thurston requested review of D140923: tsan: increase app mappings for aarch64 48-bit.
Jan 3 2023, 1:48 PM · Restricted Project, Restricted Project

Nov 30 2022

thurston added a comment to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Hi, I think this change is currently breaking Fuchsia's Clang CI. https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-arm64/b8796124255499289009/overview

Can you take a look, and if it will be hard to fix, revert until it can be addressed?

Nov 30 2022, 10:21 AM · Restricted Project, Restricted Project, Restricted Project
thurston committed rGb647d8f95d19: msan: update tests for new memory mappings on aarch64 (authored by thurston).
msan: update tests for new memory mappings on aarch64
Nov 30 2022, 10:20 AM · Restricted Project, Restricted Project
thurston closed D139033: msan: update tests for new memory mappings on aarch64.
Nov 30 2022, 10:20 AM · Restricted Project, Restricted Project
thurston requested review of D139033: msan: update tests for new memory mappings on aarch64.
Nov 30 2022, 10:19 AM · Restricted Project, Restricted Project
thurston added a comment to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Hi, I think this change is currently breaking Fuchsia's Clang CI. https://luci-milo.appspot.com/ui/p/fuchsia/builders/toolchain.ci/clang-linux-arm64/b8796124255499289009/overview

Can you take a look, and if it will be hard to fix, revert until it can be addressed?

Nov 30 2022, 9:57 AM · Restricted Project, Restricted Project, Restricted Project
thurston added a comment to D139027: msan: update shadow constant in strlen_of_shadow test.

@vitalybuka I pushed this simple change without review, to (hopefully) fix the build. Please provide post-commit review.

Nov 30 2022, 9:43 AM · Restricted Project, Restricted Project
thurston committed rGf5e2481b42fb: msan: update shadow constant in strlen_of_shadow test (authored by thurston).
msan: update shadow constant in strlen_of_shadow test
Nov 30 2022, 9:41 AM · Restricted Project, Restricted Project
thurston closed D139027: msan: update shadow constant in strlen_of_shadow test.
Nov 30 2022, 9:41 AM · Restricted Project, Restricted Project
thurston requested review of D139027: msan: update shadow constant in strlen_of_shadow test.
Nov 30 2022, 9:26 AM · Restricted Project, Restricted Project

Nov 29 2022

thurston committed rGb726df1b3acc: [msan] Increase size of app/shadow/origin mappings on aarch64 (authored by thurston).
[msan] Increase size of app/shadow/origin mappings on aarch64
Nov 29 2022, 12:57 PM · Restricted Project, Restricted Project, Restricted Project
thurston closed D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.
Nov 29 2022, 12:57 PM · Restricted Project, Restricted Project, Restricted Project

Nov 22 2022

thurston updated the diff for D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Whitespace

Nov 22 2022, 3:23 PM · Restricted Project, Restricted Project, Restricted Project
thurston added a comment to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

If we are changing the mapping + the ABI, we should be 100% confident the new one covers all ASLR possibilities. Why not just run some binary a lot of times and collect the range of addresses, or even inspect the kernel source for possible executable locations? Also, make it a large binary.

Nov 22 2022, 3:15 PM · Restricted Project, Restricted Project, Restricted Project
thurston updated the diff for D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Larger mappings

Nov 22 2022, 3:04 PM · Restricted Project, Restricted Project, Restricted Project

Nov 10 2022

thurston added a comment to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Ah, so is the problem with ASLR randomizing the initial executable mappings over a region larger than 64Gb? We do not care about app allocating memory, heap placement is defined by msan. Could you confirm that the new mapping covers all possible locations? Even with ex. a huge executable binary.

That's ok I guess, if we do not care about /39 and /42 on aarch64 linux. I'm also curious how much dynamic shadow mapping would cost (cpu and code size). It's not as straightforward as with ASan, because MSan can not allocate shadow in a single contiguous block, most likely. But it can save us a lot of pain down the road.

Nov 10 2022, 10:54 AM · Restricted Project, Restricted Project, Restricted Project
thurston added inline comments to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.
Nov 10 2022, 8:30 AM · Restricted Project, Restricted Project, Restricted Project
thurston added a comment to D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Sorry, I don't follow. What is limited to 64Gb (the sum of all app regions? why does it matter?) and why can't an "invalid" region be mapped?

Nov 10 2022, 8:30 AM · Restricted Project, Restricted Project, Restricted Project

Nov 8 2022

thurston updated the diff for D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Remove unnnecessary app mapping

Nov 8 2022, 1:48 PM · Restricted Project, Restricted Project, Restricted Project
thurston updated the diff for D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.

Removed comment about coverage of 39- and 42-bit mappings, since we have deprecated them.
(We still leave in the general comment about 39- and 42-bit segments, for reference.)

Nov 8 2022, 1:42 PM · Restricted Project, Restricted Project, Restricted Project
thurston requested review of D137666: [msan] Increase size of app/shadow/origin mappings on aarch64.
Nov 8 2022, 12:58 PM · Restricted Project, Restricted Project, Restricted Project

Aug 12 2016

thurston updated the diff for D23369: Port msan to Android (revised).

Minor housekeeping: same as the sanitizer_common changes for lsan (GetTls() on 32-bit Android; and sig_setmask)

Aug 12 2016, 1:12 AM · Restricted Project
thurston updated the diff for D22631: Port stand-alone lsan to Android (revised).

On 32-bit Android, GetTls() won't use __get_tls() (which is undefined)
Defines sig_setmask

Aug 12 2016, 1:10 AM · Restricted Project

Aug 11 2016

thurston added inline comments to D22631: Port stand-alone lsan to Android (revised).
Aug 11 2016, 8:26 PM · Restricted Project
thurston updated the diff for D22631: Port stand-alone lsan to Android (revised).

Add back the sanitizer_common/sanitizer_linux_libcdep.cc TLS changes from diff 3 - I accidentally omitted them.
All other files are the same as per diff 4.

Aug 11 2016, 2:59 PM · Restricted Project
thurston added inline comments to D22631: Port stand-alone lsan to Android (revised).
Aug 11 2016, 2:45 PM · Restricted Project
thurston updated the diff for D22631: Port stand-alone lsan to Android (revised).

Addresses previous comments

Aug 11 2016, 2:05 PM · Restricted Project
thurston added inline comments to D22631: Port stand-alone lsan to Android (revised).
Aug 11 2016, 2:04 PM · Restricted Project

Aug 10 2016

thurston updated the diff for D22550: Port MemorySanitizer.cpp (compiler transform) to Android.

Matches the changes in D23369, to use TLS_SLOT_TSAN only on Android (use the original variables on non-Android platforms).
Also adds named constants offsetof__msan_param_tls etc.

Aug 10 2016, 8:49 PM · Restricted Project
thurston updated the diff for D23369: Port msan to Android (revised).

For non-Android, this keeps the ABI the same (uses the original variables).
For Android, this uses TLS_SLOT_TSAN.

Aug 10 2016, 8:44 PM · Restricted Project
thurston added inline comments to D23369: Port msan to Android (revised).
Aug 10 2016, 8:36 PM · Restricted Project
thurston updated the diff for D22550: Port MemorySanitizer.cpp (compiler transform) to Android.

This emits the TLS access code inline:

  • using Intrinsic::thread_pointer and TLS_SLOT_TSAN if on Android
  • using the regular GlobalVariable::InitialExecTLSModel if on non-Android

to match the changes in D23369.

Aug 10 2016, 1:28 PM · Restricted Project
thurston retitled D23369: Port msan to Android (revised) from to Port msan to Android (revised).
Aug 10 2016, 1:21 PM · Restricted Project

Jul 27 2016

thurston added a comment to D22549: Port msan and stand-alone lsan to Android.

This is way too intrusive.
How about something like this:

Move the contents of MsanTLSSlotStruct directly into MsanThread so that they can be accessed as, for example, getCurrentThread()->in_interceptor_scope. This might slow down other platforms a little bit, but that's acceptable. Again, no #ifdefs - the same code on all platforms. Change __msan::GetCurrentThread to use TLS_SLOT_TSAN on Android and a usual thread-local var on other platforms.

Jul 27 2016, 7:53 AM · Restricted Project

Jul 26 2016

thurston updated the diff for D22631: Port stand-alone lsan to Android (revised).

This addresses all the previous comments
(use_tls is not overridden for Android, GetTls() updated instead to return the bionic TLS slots;
GetCurrentThread() changed to GetCurrentThread()->id, getCurrentTLS() changed to GetCurrentThread();
SIG_SETMASK copied from signal.h;
removed some unnecessary code and moved some code around)

Jul 26 2016, 2:51 PM · Restricted Project

Jul 22 2016

thurston updated the diff for D22631: Port stand-alone lsan to Android (revised).

There's now an LsanThread struct containing all the thread-local variables. A pointer to the struct is returned from lsan_thread.cc::getCurrentTLS(), which is the single point where we distinguish between Android (use AndroidGetTls()) and non-Android (use THREADLOCAL).

Jul 22 2016, 3:21 PM · Restricted Project

Jul 21 2016

thurston retitled D22631: Port stand-alone lsan to Android (revised) from to Port stand-alone lsan to Android (revised).
Jul 21 2016, 9:54 AM · Restricted Project

Jul 19 2016

thurston updated the diff for D22550: Port MemorySanitizer.cpp (compiler transform) to Android.

Reuploaded with context

Jul 19 2016, 5:26 PM · Restricted Project
thurston updated the diff for D22549: Port msan and stand-alone lsan to Android.

Reuploaded with context

Jul 19 2016, 5:24 PM · Restricted Project
thurston updated the diff for D22550: Port MemorySanitizer.cpp (compiler transform) to Android.

#define SANITIZER_ANDROID is just a serving suggestion

Jul 19 2016, 4:42 PM · Restricted Project
thurston updated D22549: Port msan and stand-alone lsan to Android.
Jul 19 2016, 4:21 PM · Restricted Project
thurston retitled D22550: Port MemorySanitizer.cpp (compiler transform) to Android from to Port msan to Android (continued).
Jul 19 2016, 4:20 PM · Restricted Project
thurston retitled D22549: Port msan and stand-alone lsan to Android from to Port msan and stand-alone lsan to Android.
Jul 19 2016, 4:19 PM · Restricted Project