Page MenuHomePhabricator

yabinc (Yabin Cui)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 19 2015, 5:13 PM (195 w, 1 d)

Recent Activity

Apr 6 2016

yabinc added a comment to D18526: [tsan] Disable randomized address space on aarch64 linux..

I have filed an internal bug. Not sure when it will be available.

Apr 6 2016, 10:43 AM

Apr 4 2016

yabinc committed rL265378: [tsan] Fix freebsd build..
[tsan] Fix freebsd build.
Apr 4 2016, 10:43 PM
yabinc closed D18785: [tsan] Fix freebsd build..
Apr 4 2016, 10:43 PM
yabinc added reviewers for D18785: [tsan] Fix freebsd build.: llvm-commits, dvyukov, zatrazz, rengolin.
Apr 4 2016, 10:32 PM
yabinc retitled D18785: [tsan] Fix freebsd build. from to [tsan] Fix freebsd build..
Apr 4 2016, 10:30 PM
yabinc committed rL265366: [tsan] Disable randomized address space on aarch64 linux..
[tsan] Disable randomized address space on aarch64 linux.
Apr 4 2016, 4:54 PM
yabinc closed D18526: [tsan] Disable randomized address space on aarch64 linux..
Apr 4 2016, 4:53 PM
yabinc added a comment to D18526: [tsan] Disable randomized address space on aarch64 linux..

when I create a buildbot for Android, covering the sanitizers, will I have to disable ASRL?

I don't know other sanitizers. But as in this patch, tsan will do it for you.

That is precisely my point about Android/LLVM not being a toy project any more.

I never intend to say Android/LLVM doesn't involve security issue. But for tsan, as it consumes much more memory and runtime slowdown currently, I think no one intend to ship it on product.

But I want us to start thinking about the bigger picture here very soon. It'd also be good if Google could setup up a buildbot on Nexus devices.

We don't have Android/LLVM buildbot now. But I think it is nice to have. srhines@ and danalbert@ should be the right people to talk to.

Apr 4 2016, 4:46 PM
yabinc added a comment to D18526: [tsan] Disable randomized address space on aarch64 linux..

At Diff1 of this patch, I made it Android specific. And zatrazz recommended
to use VReport() instead of Report() to avoid breaking tests. It doesn't break tests any more when I run make check-tsan.

Apr 4 2016, 2:22 PM
yabinc added a comment to D18378: Fix test failure on unrelated warnings..

sorry, I commented on the wrong patch.

Apr 4 2016, 2:21 PM
yabinc added a comment to D18378: Fix test failure on unrelated warnings..

At Diff1 of this patch, I made it Android specific. And zatrazz recommended
to use VReport() instead of Report() to avoid breaking tests. It doesn't break tests any more when I run make check-tsan.

Apr 4 2016, 2:20 PM

Mar 31 2016

yabinc added a comment to D18526: [tsan] Disable randomized address space on aarch64 linux..

ping?

Mar 31 2016, 3:28 PM

Mar 29 2016

yabinc retitled D18526: [tsan] Disable randomized address space on aarch64 linux. from [tsan] Disable randomized address space on Android aarch64. to [tsan] Disable randomized address space on aarch64 linux..
Mar 29 2016, 11:11 AM
yabinc updated the diff for D18526: [tsan] Disable randomized address space on aarch64 linux..

Replace Report() with VReport(), and enable the patch on aarch64.

Mar 29 2016, 11:11 AM

Mar 28 2016

yabinc added a comment to D18526: [tsan] Disable randomized address space on aarch64 linux..

That patch is reverted because of breaking aarch64 tests. I tried to fix that in http://reviews.llvm.org/D18378, but I think reviewers prefer to limit the change on Android platform. And whoever wants to extend the platforms disabling randomized virtual space can test on the extended platforms.

Mar 28 2016, 3:39 PM
yabinc added reviewers for D18526: [tsan] Disable randomized address space on aarch64 linux.: llvm-commits, dvyukov, rengolin.
Mar 28 2016, 2:13 PM
yabinc retitled D18526: [tsan] Disable randomized address space on aarch64 linux. from to [tsan] Disable randomized address space on Android aarch64..
Mar 28 2016, 2:12 PM

Mar 23 2016

yabinc added a comment to D18378: Fix test failure on unrelated warnings..

I applogize for not testing tsan patches well before uploading them to llvm. I will do my best to
test them on other platforms as well as Android. I didn't revert the patch because I think fixing
broken patches instead of reverting them is the first choice. But thanks for reverting it as I
didn't fix it in time. I will upload the patch to make it Android specific soon.

Mar 23 2016, 11:03 AM

Mar 22 2016

yabinc added a comment to D18378: Fix test failure on unrelated warnings..

Thanks for reminding. I have tested on x86_64 (by enabling personality(ADDR_NO_RANDOMIZE) on x86_64).

Mar 22 2016, 4:48 PM
yabinc updated the diff for D18378: Fix test failure on unrelated warnings..

remove change in tsan_platform_linux.cc

Mar 22 2016, 4:46 PM
yabinc updated the diff for D18378: Fix test failure on unrelated warnings..

Fix mutex_cycle2.c.

Mar 22 2016, 4:45 PM
yabinc updated subscribers of D18378: Fix test failure on unrelated warnings..
Mar 22 2016, 2:49 PM
yabinc retitled D18378: Fix test failure on unrelated warnings. from to Fix test failure on unrelated warnings..
Mar 22 2016, 2:47 PM
yabinc committed rL264079: [tsan] Fix check-tsan build by using CHECK_NE..
[tsan] Fix check-tsan build by using CHECK_NE.
Mar 22 2016, 11:17 AM
yabinc closed D18361: [tsan] Fix check-tsan build by using CHECK_NE..
Mar 22 2016, 11:17 AM
yabinc updated subscribers of D18361: [tsan] Fix check-tsan build by using CHECK_NE..
Mar 22 2016, 10:57 AM
yabinc retitled D18361: [tsan] Fix check-tsan build by using CHECK_NE. from to [tsan] Fix check-tsan build by using CHECK_NE..
Mar 22 2016, 10:55 AM
yabinc abandoned D16689: [tsan] Dynamically detect heap range for aarch64..

This patch is uploaded because I misunderstood kHeapMem as mapped area. And the correct fix has been submitted in http://reviews.llvm.org/D18003.

Mar 22 2016, 10:24 AM
yabinc committed rL264068: [tsan] Disable randomized address space on linux aarch64..
[tsan] Disable randomized address space on linux aarch64.
Mar 22 2016, 10:21 AM
yabinc closed D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 22 2016, 10:21 AM

Mar 21 2016

yabinc added inline comments to D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 21 2016, 6:15 PM
yabinc updated D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 21 2016, 10:50 AM
yabinc updated the diff for D18003: [tsan] Disable randomized address space on linux aarch64..

Add comment.

Mar 21 2016, 10:49 AM

Mar 16 2016

yabinc added inline comments to D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 16 2016, 11:46 AM
yabinc retitled D18003: [tsan] Disable randomized address space on linux aarch64. from [tsan] Disable randomized address space on linux when necessary. to [tsan] Disable randomized address space on linux aarch64..
Mar 16 2016, 11:37 AM
yabinc updated the diff for D18003: [tsan] Disable randomized address space on linux aarch64..

Disable randomized address space only for aarch64.

Mar 16 2016, 11:36 AM

Mar 11 2016

yabinc added inline comments to D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 11 2016, 2:16 PM

Mar 10 2016

yabinc added a comment to D18003: [tsan] Disable randomized address space on linux aarch64..

not android specific, I have updated in SUMMARY.
Done checking real heap space.

Mar 10 2016, 2:21 PM
yabinc retitled D18003: [tsan] Disable randomized address space on linux aarch64. from [tsan] Disable randomized address space on linux. to [tsan] Disable randomized address space on linux when necessary..
Mar 10 2016, 2:20 PM
yabinc updated the diff for D18003: [tsan] Disable randomized address space on linux aarch64..

Limit columns to < 80.

Mar 10 2016, 2:13 PM
yabinc updated the diff for D18003: [tsan] Disable randomized address space on linux aarch64..

Check if real heap space matches expectation before reexec.

Mar 10 2016, 2:09 PM

Mar 9 2016

yabinc added a comment to D16689: [tsan] Dynamically detect heap range for aarch64..

As recommended by dvyukov, I find that we can use personality(ADDR_NO_RANDOMIZE) to disable randomized virtual address space. The patch is uploaded at http://reviews.llvm.org/D18003

Mar 9 2016, 11:18 AM
yabinc updated subscribers of D18003: [tsan] Disable randomized address space on linux aarch64..
Mar 9 2016, 11:15 AM
yabinc added reviewers for D18003: [tsan] Disable randomized address space on linux aarch64.: kcc, llvm-commits, eugenis, zatrazz, dvyukov, rengolin.
Mar 9 2016, 11:14 AM
yabinc retitled D18003: [tsan] Disable randomized address space on linux aarch64. from to [tsan] Disable randomized address space on linux..
Mar 9 2016, 11:12 AM

Feb 22 2016

yabinc added a comment to D16689: [tsan] Dynamically detect heap range for aarch64..

Sorry for not updating this so long, I was struggling with other stuff.
I don't understand "these sources are outdated, the AArch64 part is not like that any more for a good number of months." When I downloaded the latest linux kernel, the code of arch/arm64/mm/mmap.c is not changed:

Feb 22 2016, 4:30 PM
yabinc updated the diff for D16689: [tsan] Dynamically detect heap range for aarch64..

profiling results on N5X(aarch64) as below:
mini_bench_local
without tsan: 2.50s
tsan before: 131s
tsan after change: 138s

Feb 22 2016, 4:20 PM

Feb 5 2016

yabinc added a reviewer for D16689: [tsan] Dynamically detect heap range for aarch64.: enh.
Feb 5 2016, 5:36 PM

Feb 3 2016

yabinc added a comment to D16689: [tsan] Dynamically detect heap range for aarch64..

I think using uptr mapping[256]; is a better solution to remove current complex logic.

Feb 3 2016, 2:03 PM
yabinc updated the diff for D16689: [tsan] Dynamically detect heap range for aarch64..

use kHeapMemBeg + kHeapMemSize for efficiency.

Feb 3 2016, 1:57 PM

Feb 1 2016

yabinc added a comment to D16689: [tsan] Dynamically detect heap range for aarch64..

Done. I didn't add 42-bit version because I don't have a machine to test it.

Feb 1 2016, 5:57 PM
yabinc retitled D16689: [tsan] Dynamically detect heap range for aarch64. from [tsan] Dynamically detect heap range for 39-bit aarch64. to [tsan] Dynamically detect heap range for aarch64..
Feb 1 2016, 5:56 PM
yabinc updated the diff for D16689: [tsan] Dynamically detect heap range for aarch64..

Add support for 42-bit aarch64.

Feb 1 2016, 5:54 PM

Jan 28 2016

yabinc added reviewers for D16689: [tsan] Dynamically detect heap range for aarch64.: llvm-commits, kcc, dvyukov, eugenis.

I only tested this on android with 39-bit aarch64 platform. Let me know if it breaks on other 39-bit aarch64 platforms, or if we have other ways to make things work.

Jan 28 2016, 12:29 PM
yabinc retitled D16689: [tsan] Dynamically detect heap range for aarch64. from to [tsan] Dynamically detect heap range for 39-bit aarch64..
Jan 28 2016, 12:23 PM

Jan 17 2016

yabinc committed rL258021: [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited..
[tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited.
Jan 17 2016, 1:37 PM
yabinc closed D16235: [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited..
Jan 17 2016, 1:37 PM

Jan 15 2016

yabinc added a comment to D16214: [tsan] Fix ScopedInterceptor's handling of !thr->is_inited.

Sorry, I missed two lines when committing http://reviews.llvm.org/D15301. I uploaded the fix in http://reviews.llvm.org/D15301.
I think if !thr->is_inited, it means __tsan_thread_start_func()->ThreadStart() is not called, and I think we shouldn't access
fields in ThreadState as it is not inited. Please let me know if my understanding is wrong.

Jan 15 2016, 11:54 AM
yabinc added a reviewer for D16235: [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited.: llvm-commits.
Jan 15 2016, 11:44 AM
yabinc added reviewers for D16235: [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited.: kubamracek, dvyukov, kcc, eugenis.
Jan 15 2016, 11:44 AM
yabinc retitled D16235: [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited. from to [tsan] Do nothing in ScopedInterceptor's destructor if thr is not inited..
Jan 15 2016, 11:42 AM

Jan 14 2016

yabinc committed rL257872: [tsan] Fix some tiny errors..
[tsan] Fix some tiny errors.
Jan 14 2016, 10:25 PM
yabinc closed D16210: [tsan] Fix some tiny errors..
Jan 14 2016, 10:25 PM
yabinc added reviewers for D16210: [tsan] Fix some tiny errors.: llvm-commits, dvyukov, eugenis, kcc.
Jan 14 2016, 8:10 PM
yabinc retitled D16210: [tsan] Fix some tiny errors. from to [tsan] Fix some tiny errors..
Jan 14 2016, 8:09 PM
yabinc committed rL257866: [tsan] Store the pointer to ThreadState in TLS slot on Android..
[tsan] Store the pointer to ThreadState in TLS slot on Android.
Jan 14 2016, 7:43 PM
yabinc closed D15301: [tsan] Store the pointer to ThreadState in TLS slot on Android..
Jan 14 2016, 7:42 PM
yabinc committed rL257862: [tsan] Use internal_sigfillset to replace REAL(sigfillset)..
[tsan] Use internal_sigfillset to replace REAL(sigfillset).
Jan 14 2016, 7:03 PM
yabinc closed D15296: [tsan] Use internal_sigfillset to replace REAL(sigfillset)..
Jan 14 2016, 7:03 PM
yabinc abandoned D15308: [tsan] Support aarch64 for Android..

It works. Thanks!

Jan 14 2016, 6:34 PM

Dec 9 2015

yabinc added inline comments to D15308: [tsan] Support aarch64 for Android..
Dec 9 2015, 4:31 PM
yabinc abandoned D14855: [tsan] Support thread sanitizer on Android..

Abandon this, as it has been split.

Dec 9 2015, 4:26 PM
yabinc added inline comments to D15308: [tsan] Support aarch64 for Android..
Dec 9 2015, 3:50 PM
yabinc added inline comments to D15296: [tsan] Use internal_sigfillset to replace REAL(sigfillset)..
Dec 9 2015, 3:47 PM
yabinc updated the diff for D15296: [tsan] Use internal_sigfillset to replace REAL(sigfillset)..

Update based on review comment.

Dec 9 2015, 3:45 PM
yabinc committed rL255168: [tsan] Move emptyset/oldset to ThreadSignalContext..
[tsan] Move emptyset/oldset to ThreadSignalContext.
Dec 9 2015, 2:43 PM
yabinc closed D15299: [tsan] Move emptyset/oldset to ThreadSignalContext..
Dec 9 2015, 2:43 PM
yabinc committed rL255167: [tsan] Use REAL(malloc) instead of __libc_malloc for Android..
[tsan] Use REAL(malloc) instead of __libc_malloc for Android.
Dec 9 2015, 2:35 PM
yabinc closed D15297: [tsan] Use REAL(malloc) instead of __libc_malloc for Android..
Dec 9 2015, 2:35 PM
yabinc committed rL255164: [tsan] Disable interceptors not supported in Android..
[tsan] Disable interceptors not supported in Android.
Dec 9 2015, 2:26 PM
yabinc closed D15295: [tsan] Disable interceptors not supported in Android..
Dec 9 2015, 2:26 PM
yabinc committed rL255135: [tsan] Define sigaction_t for Android..
[tsan] Define sigaction_t for Android.
Dec 9 2015, 10:40 AM
yabinc closed D15298: [tsan] Define sigaction_t for Android..
Dec 9 2015, 10:40 AM

Dec 8 2015

yabinc added a comment to D15295: [tsan] Disable interceptors not supported in Android..

@dvyukov, review this again?

Dec 8 2015, 10:27 AM

Dec 7 2015

yabinc added reviewers for D15308: [tsan] Support aarch64 for Android.: dvyukov, kcc, eugenis.
Dec 7 2015, 2:25 PM
yabinc updated subscribers of D15308: [tsan] Support aarch64 for Android..
Dec 7 2015, 2:25 PM
yabinc retitled D15308: [tsan] Support aarch64 for Android. from to [tsan] Support aarch64 for Android..
Dec 7 2015, 2:24 PM
yabinc updated the diff for D15295: [tsan] Disable interceptors not supported in Android..

Disable ExtractResolveFDs().

Dec 7 2015, 2:06 PM
yabinc added reviewers for D15301: [tsan] Store the pointer to ThreadState in TLS slot on Android.: dvyukov, kcc, eugenis.
Dec 7 2015, 12:48 PM
yabinc updated subscribers of D15301: [tsan] Store the pointer to ThreadState in TLS slot on Android..
Dec 7 2015, 12:48 PM
yabinc retitled D15301: [tsan] Store the pointer to ThreadState in TLS slot on Android. from to [tsan] Store the pointer to ThreadState in TLS slot on Android..
Dec 7 2015, 12:47 PM
yabinc added reviewers for D15299: [tsan] Move emptyset/oldset to ThreadSignalContext.: dvyukov, kcc, eugenis.
Dec 7 2015, 12:24 PM
yabinc updated subscribers of D15299: [tsan] Move emptyset/oldset to ThreadSignalContext..
Dec 7 2015, 12:23 PM
yabinc retitled D15299: [tsan] Move emptyset/oldset to ThreadSignalContext. from to [tsan] Move emptyset/oldset to ThreadSignalContext..
Dec 7 2015, 12:23 PM
yabinc added reviewers for D15298: [tsan] Define sigaction_t for Android.: dvyukov, kcc, eugenis.
Dec 7 2015, 12:14 PM
yabinc updated subscribers of D15298: [tsan] Define sigaction_t for Android..
Dec 7 2015, 12:13 PM
yabinc retitled D15298: [tsan] Define sigaction_t for Android. from to [tsan] Define sigaction_t for Android..
Dec 7 2015, 12:13 PM
yabinc added reviewers for D15297: [tsan] Use REAL(malloc) instead of __libc_malloc for Android.: dvyukov, kcc, eugenis.
Dec 7 2015, 12:06 PM
yabinc updated subscribers of D15297: [tsan] Use REAL(malloc) instead of __libc_malloc for Android..
Dec 7 2015, 12:06 PM
yabinc retitled D15297: [tsan] Use REAL(malloc) instead of __libc_malloc for Android. from to [tsan] Use REAL(malloc) instead of __libc_malloc for Android..
Dec 7 2015, 12:05 PM