Page MenuHomePhabricator

eugenis (Evgenii Stepanov)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 3 2012, 3:00 AM (333 w, 9 h)

Recent Activity

Yesterday

eugenis committed rGbdbbfdc8c2f6: [msan] Fix name_to_handle_at test on overlayfs. (authored by eugenis).
[msan] Fix name_to_handle_at test on overlayfs.
Tue, Feb 19, 3:42 PM
eugenis committed rCRT354402: [msan] Fix name_to_handle_at test on overlayfs..
[msan] Fix name_to_handle_at test on overlayfs.
Tue, Feb 19, 3:41 PM
eugenis committed rL354402: [msan] Fix name_to_handle_at test on overlayfs..
[msan] Fix name_to_handle_at test on overlayfs.
Tue, Feb 19, 3:41 PM
eugenis accepted D58396: [msan] Remove cxa_atexit_race.cc.

LGTM

Tue, Feb 19, 11:24 AM · Restricted Project, Restricted Project

Fri, Feb 15

eugenis updated the diff for D58313: [hwasan,asan] Intercept vfork..

formatting

Fri, Feb 15, 4:35 PM · Restricted Project, Restricted Project
eugenis created D58313: [hwasan,asan] Intercept vfork..
Fri, Feb 15, 4:33 PM · Restricted Project, Restricted Project
eugenis committed rG360163f671f5: Fix unsymbolized stack history printing. (authored by eugenis).
Fix unsymbolized stack history printing.
Fri, Feb 15, 10:44 AM
eugenis committed rGa70d88c7a30f: Runtime flags for malloc bisection. (authored by eugenis).
Runtime flags for malloc bisection.
Fri, Feb 15, 10:44 AM
eugenis committed rG2c0483f5a6e0: Fix false positive when tag_in_malloc=0,tag_in_free=1. (authored by eugenis).
Fix false positive when tag_in_malloc=0,tag_in_free=1.
Fri, Feb 15, 10:44 AM
eugenis committed rL354157: Fix unsymbolized stack history printing..
Fix unsymbolized stack history printing.
Fri, Feb 15, 10:38 AM
eugenis committed rCRT354157: Fix unsymbolized stack history printing..
Fix unsymbolized stack history printing.
Fri, Feb 15, 10:38 AM
eugenis closed D58267: [hwasan] Fix unsymbolized stack history printing..
Fri, Feb 15, 10:38 AM · Restricted Project
eugenis committed rCRT354156: Runtime flags for malloc bisection..
Runtime flags for malloc bisection.
Fri, Feb 15, 10:38 AM
eugenis committed rL354156: Runtime flags for malloc bisection..
Runtime flags for malloc bisection.
Fri, Feb 15, 10:38 AM
eugenis closed D58162: [hwasan] Runtime flags for malloc bisection..
Fri, Feb 15, 10:38 AM · Restricted Project, Restricted Project
eugenis committed rL354155: Fix false positive when tag_in_malloc=0,tag_in_free=1..
Fix false positive when tag_in_malloc=0,tag_in_free=1.
Fri, Feb 15, 10:38 AM
eugenis committed rCRT354155: Fix false positive when tag_in_malloc=0,tag_in_free=1..
Fix false positive when tag_in_malloc=0,tag_in_free=1.
Fri, Feb 15, 10:37 AM
eugenis closed D58158: [hwasan] Fix false positive when tag_in_malloc=0,tag_in_free=1..
Fri, Feb 15, 10:37 AM · Restricted Project, Restricted Project
eugenis updated the diff for D58162: [hwasan] Runtime flags for malloc bisection..

address comments

Fri, Feb 15, 10:35 AM · Restricted Project, Restricted Project

Thu, Feb 14

eugenis created D58267: [hwasan] Fix unsymbolized stack history printing..
Thu, Feb 14, 5:41 PM · Restricted Project

Wed, Feb 13

eugenis accepted D58221: [msan] Don't delete MSanAtExitRecord.

LGTM

Wed, Feb 13, 6:34 PM · Restricted Project, Restricted Project
eugenis added inline comments to D58221: [msan] Don't delete MSanAtExitRecord.
Wed, Feb 13, 6:03 PM · Restricted Project, Restricted Project
eugenis updated the diff for D58162: [hwasan] Runtime flags for malloc bisection..

revert unrelated changes

Wed, Feb 13, 1:33 PM · Restricted Project, Restricted Project
eugenis updated the diff for D58162: [hwasan] Runtime flags for malloc bisection..

added an empty line

Wed, Feb 13, 1:27 PM · Restricted Project, Restricted Project

Tue, Feb 12

eugenis created D58162: [hwasan] Runtime flags for malloc bisection..
Tue, Feb 12, 5:52 PM · Restricted Project, Restricted Project
eugenis updated the diff for D58158: [hwasan] Fix false positive when tag_in_malloc=0,tag_in_free=1..

+ a comment in test

Tue, Feb 12, 4:48 PM · Restricted Project, Restricted Project
eugenis created D58158: [hwasan] Fix false positive when tag_in_malloc=0,tag_in_free=1..
Tue, Feb 12, 4:46 PM · Restricted Project, Restricted Project
eugenis committed rG8bb5d7e76a37: [tsan] #undef one-letter macros (authored by eugenis).
[tsan] #undef one-letter macros
Tue, Feb 12, 3:49 PM
eugenis committed rL353902: [tsan] #undef one-letter macros.
[tsan] #undef one-letter macros
Tue, Feb 12, 3:49 PM
eugenis committed rCRT353902: [tsan] #undef one-letter macros.
[tsan] #undef one-letter macros
Tue, Feb 12, 3:49 PM

Thu, Feb 7

eugenis accepted D57866: [safestack] Don't crash if stack size is not aligned as expected.

FYI @vlad.tsyrklevich
LGTM

Thu, Feb 7, 12:25 PM · Restricted Project, Restricted Project

Wed, Feb 6

eugenis accepted D57731: [sanitizer] Don't unpoison buffer in getpw/getgr functions.

LGTM

Wed, Feb 6, 2:08 PM · Restricted Project, Restricted Project
eugenis accepted D57757: [scudo][standalone] Do not error out on spurious C(XX) flags.

Looks good enough to me.

Wed, Feb 6, 12:40 PM · Restricted Project, Restricted Project
eugenis added a comment to D57757: [scudo][standalone] Do not error out on spurious C(XX) flags.

I've re-read the original problem. Since this is not custom cflags, but an LLVM cmake flag, I think we are obligated to handle it.
Removing -stdlib.* from the flags looks like an OK solution.
We could also fix clang to understand that in "-stdlib=libc++ -nodefaultlibs" there are no unused flags, like with the other flag groups that cancel each other.

Wed, Feb 6, 10:58 AM · Restricted Project, Restricted Project

Tue, Feb 5

eugenis committed rG54c82886cbe2: [sanitizer] Fix fuchsia and windows build. (authored by eugenis).
[sanitizer] Fix fuchsia and windows build.
Tue, Feb 5, 5:58 PM
eugenis committed rL353261: [sanitizer] Fix fuchsia and windows build..
[sanitizer] Fix fuchsia and windows build.
Tue, Feb 5, 5:58 PM
eugenis committed rCRT353261: [sanitizer] Fix fuchsia and windows build..
[sanitizer] Fix fuchsia and windows build.
Tue, Feb 5, 5:58 PM
eugenis committed rG443c034391a2: [sanitizer] Decorate /proc/self/maps better. (authored by eugenis).
[sanitizer] Decorate /proc/self/maps better.
Tue, Feb 5, 5:17 PM
eugenis committed rCRT353255: [sanitizer] Decorate /proc/self/maps better..
[sanitizer] Decorate /proc/self/maps better.
Tue, Feb 5, 5:17 PM
eugenis committed rL353255: [sanitizer] Decorate /proc/self/maps better..
[sanitizer] Decorate /proc/self/maps better.
Tue, Feb 5, 5:17 PM
eugenis closed D57720: [sanitizer] Decorate /proc/self/maps on Android..
Tue, Feb 5, 5:16 PM · Restricted Project
eugenis added a comment to D57720: [sanitizer] Decorate /proc/self/maps on Android..

Btw, I've pushed the RSS utility here:
https://github.com/google/sanitizers/blob/master/hwaddress-sanitizer/scan.cc
It depends on this change to find the shadow region. It is hwasan-specific, but can be easily adapted to other sanitizers if needed.
It's also really ugly, but I don't want to invest time in beautifying it.

Tue, Feb 5, 5:11 PM · Restricted Project
eugenis added a comment to D57720: [sanitizer] Decorate /proc/self/maps on Android..
In D57720#1386140, @pcc wrote:

The GetNamedMappingFd and DecorateMapping APIs seem a little awkwards to me. Everyone is using them as GetNamedMappingFd/mmap/DecorateMapping except for one place in hwasan. Would it make more sense to have a single function that does GetNamedMappingFd/mmap/DecorateMapping and continue using PR_SET_VMA_ANON_NAME in hwasan?

Tue, Feb 5, 3:21 PM · Restricted Project
eugenis updated the diff for D57720: [sanitizer] Decorate /proc/self/maps on Android..

.

Tue, Feb 5, 3:21 PM · Restricted Project
eugenis accepted D57785: [sanitizer] Re-enabled getpw_getgr.cc on Android.

LGTM

Tue, Feb 5, 2:39 PM · Restricted Project, Restricted Project
eugenis accepted D57784: [sanitizer] Remove unneeded pointer check.

LGTM

Tue, Feb 5, 2:39 PM · Restricted Project, Restricted Project
eugenis edited reviewers for D57786: [sanitizer] Enabled getpw_getgr.cc on iOS, added: kubamracek; removed: eugenis.
Tue, Feb 5, 2:39 PM · Restricted Project
eugenis updated subscribers of D57720: [sanitizer] Decorate /proc/self/maps on Android..
Tue, Feb 5, 2:35 PM · Restricted Project
eugenis updated the diff for D57720: [sanitizer] Decorate /proc/self/maps on Android..

.

Tue, Feb 5, 2:35 PM · Restricted Project
eugenis added a comment to D57757: [scudo][standalone] Do not error out on spurious C(XX) flags.

Does the problem appear when -stdlib is passed through custom CFLAGS? I think it is common to disable WERROR as well in that case, or add -Wno-unused-command-line-argument to custom CFLAGS.

Tue, Feb 5, 1:55 PM · Restricted Project, Restricted Project
eugenis added inline comments to D57757: [scudo][standalone] Do not error out on spurious C(XX) flags.
Tue, Feb 5, 12:10 PM · Restricted Project, Restricted Project
eugenis added inline comments to D57731: [sanitizer] Don't unpoison buffer in getpw/getgr functions.
Tue, Feb 5, 12:06 PM · Restricted Project, Restricted Project
eugenis added inline comments to D57757: [scudo][standalone] Do not error out on spurious C(XX) flags.
Tue, Feb 5, 10:56 AM · Restricted Project, Restricted Project

Mon, Feb 4

eugenis updated the diff for D57720: [sanitizer] Decorate /proc/self/maps on Android..

.

Mon, Feb 4, 6:15 PM · Restricted Project
eugenis added a comment to D57722: [Clang][NCF] Sanitizer options: helpers to check if {Kernel,Hardware}ASan is enabled.

I find the current code more readable than with this change.

Mon, Feb 4, 5:54 PM · Restricted Project
eugenis created D57720: [sanitizer] Decorate /proc/self/maps on Android..
Mon, Feb 4, 3:55 PM · Restricted Project
eugenis accepted D57711: [Sanitizers] UBSan unreachable incompatible with Kernel ASan.

LGTM

Mon, Feb 4, 2:20 PM · Restricted Project, Restricted Project

Thu, Jan 31

eugenis accepted D57489: [ASan] Do not instrument other runtime functions with `__asan_handle_no_return`.

LGTM

Thu, Jan 31, 6:20 PM · Restricted Project, Restricted Project, Restricted Project
Herald added a project to D57489: [ASan] Do not instrument other runtime functions with `__asan_handle_no_return`: Restricted Project.

Do we have a test that at most one __asan_handle_no_return call is inserted before a [[noreturn]] call?

Thu, Jan 31, 4:35 PM · Restricted Project, Restricted Project, Restricted Project
eugenis accepted D57490: hwasan: Add __hwasan_init_static() function..

LGTM
Doing less things while libc is not fully initialized is a step in the right direction.

Thu, Jan 31, 3:28 PM · Restricted Project, Restricted Project
eugenis added inline comments to D57490: hwasan: Add __hwasan_init_static() function..
Thu, Jan 31, 2:50 PM · Restricted Project, Restricted Project

Tue, Jan 29

eugenis added a comment to D57278: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

LGTM assuming the plan is to add !nosanitize where !noreturn has been, at the original call site, in the follow-up change.

Tue, Jan 29, 4:00 PM · Restricted Project
eugenis added a comment to D57278: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

Sounds good.

Tue, Jan 29, 12:08 PM · Restricted Project

Mon, Jan 28

eugenis accepted D57366: Add zlib feature to compiler-rt lit config.

LGTM

Mon, Jan 28, 5:36 PM
eugenis accepted D57278: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

LGTM
Since the previous iteration of this was controversial, please wait for at least one more review.

Mon, Jan 28, 5:32 PM · Restricted Project

Thu, Jan 24

eugenis committed rCRT352151: [hwasan] Madvise away thread aux data.
[hwasan] Madvise away thread aux data
Thu, Jan 24, 6:06 PM
eugenis committed rL352151: [hwasan] Madvise away thread aux data.
[hwasan] Madvise away thread aux data
Thu, Jan 24, 6:06 PM
eugenis closed D56621: [hwasan] Madvise away thread aux data.
Thu, Jan 24, 6:06 PM
eugenis committed rCRT352150: [hwasan] Implement print_module_map flag..
[hwasan] Implement print_module_map flag.
Thu, Jan 24, 6:05 PM
eugenis committed rL352150: [hwasan] Implement print_module_map flag..
[hwasan] Implement print_module_map flag.
Thu, Jan 24, 6:05 PM
eugenis closed D57130: [hwasan] Implement print_module_map flag..
Thu, Jan 24, 6:05 PM
eugenis added a comment to D56621: [hwasan] Madvise away thread aux data.

ping

Thu, Jan 24, 5:35 PM
eugenis added a comment to D57130: [hwasan] Implement print_module_map flag..

ping

Thu, Jan 24, 5:35 PM
eugenis accepted D57205: hwasan: If we split the entry block, move static allocas back into the entry block..

LGTM

Thu, Jan 24, 5:34 PM
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

Maybe the frontend should insert __asan_handle_noreturn whenever ASan is enabled, and then ASan would not care about the attribute? I'd like to avoid having this logic in two places.

Thu, Jan 24, 5:24 PM · Restricted Project
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

Wouldn’t it be preferable to unpoison the stack inside of maybe_longjmp, once the opaque condition can be checked?

Thu, Jan 24, 3:05 PM · Restricted Project
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

Because "expect_noreturn" calls are allowed to return, the compiler must behave as they could. In particular, this means that unpoisoning the stack before expect_noreturn calls (given the current semantics) is premature.

Thu, Jan 24, 2:31 PM · Restricted Project

Wed, Jan 23

eugenis created D57130: [hwasan] Implement print_module_map flag..
Wed, Jan 23, 5:39 PM
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

That should not be necessary.
__asan_handle_noreturn is needed for functions that move SP without going through ASan epilogue, in order to maintain the requirement that stack below SP has clean shadow.
Ubsan-rt does nothing of the sort.

Wed, Jan 23, 4:05 PM · Restricted Project
eugenis updated the diff for D56621: [hwasan] Madvise away thread aux data.

madvise the entire allocation range

Wed, Jan 23, 3:05 PM
eugenis accepted D57084: hwasan: Read shadow address from ifunc if we don't need a frame record..

LGTM

Wed, Jan 23, 2:34 PM
eugenis added inline comments to D57084: hwasan: Read shadow address from ifunc if we don't need a frame record..
Wed, Jan 23, 2:24 PM
eugenis accepted D57116: [scudo] Tuning changes based on feedback from current use.

LGTM

Wed, Jan 23, 1:15 PM
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.

This patch is missing tests for the new attribute in AsmParser / BitcodeReader / BitcodeWriter.

Wed, Jan 23, 1:07 PM · Restricted Project

Tue, Jan 22

eugenis accepted D56954: hwasan: Move memory access checks into small outlined functions on aarch64..

I think I could, but it would make the tests (more) painful to update. I guess I could drop the tests for abort in basic.ll in the first change and then bring them back in the second change, if that's ok?

Tue, Jan 22, 5:10 PM
eugenis added a comment to D56954: hwasan: Move memory access checks into small outlined functions on aarch64..

More than half of this changelist is switching shadow addressing to getelementptr. Could you do it in a separate change?

Tue, Jan 22, 4:33 PM

Jan 18 2019

eugenis added a comment to D56621: [hwasan] Madvise away thread aux data.

This one is hard to test reliably for RSS change, because it only affect thread exit, and, generally, we don't know how much memory the platform thread support would release in that event, and it might even be a different amount for different threads (some kind of stack caching, etc).

Jan 18 2019, 6:04 PM
eugenis committed rCRT351620: [hwasan] Madvise away unused shadow..
[hwasan] Madvise away unused shadow.
Jan 18 2019, 5:59 PM
eugenis committed rL351620: [hwasan] Madvise away unused shadow..
[hwasan] Madvise away unused shadow.
Jan 18 2019, 5:59 PM
eugenis closed D56757: [hwasan] Madvise away unused shadow..
Jan 18 2019, 5:59 PM
eugenis added inline comments to D56757: [hwasan] Madvise away unused shadow..
Jan 18 2019, 5:32 PM
eugenis updated the diff for D56757: [hwasan] Madvise away unused shadow..

.

Jan 18 2019, 5:32 PM
eugenis updated the diff for D56757: [hwasan] Madvise away unused shadow..

a test case

Jan 18 2019, 4:29 PM
eugenis accepted D56603: [HWASAN] Improve tag-mismatch diagnostics.

LGTM with comments.

Jan 18 2019, 10:42 AM

Jan 17 2019

eugenis accepted D56886: [safestack] Remove dependency of SafeStack on sanitizer_common.

LGTM

Jan 17 2019, 5:50 PM
eugenis accepted D56888: [safestack] Replace statics with unnamed namespace.

LGTM

Jan 17 2019, 5:33 PM
eugenis added inline comments to D56888: [safestack] Replace statics with unnamed namespace.
Jan 17 2019, 5:21 PM
eugenis added a comment to D56624: [Sanitizers] UBSan unreachable incompatible with ASan in the presence of `noreturn` calls.
In D56624#1362458, @yln wrote:

How about sanitizer_noreturn or noreturn_for_sanitizer. It should convey the same meaning as noreturn but has a specific audience: sanitizers.

Jan 17 2019, 5:16 PM · Restricted Project
eugenis added inline comments to D56886: [safestack] Remove dependency of SafeStack on sanitizer_common.
Jan 17 2019, 4:36 PM
eugenis requested changes to D56603: [HWASAN] Improve tag-mismatch diagnostics.

And we should probably skip this note in the case where it is obvious - for example, for an 8 byte, 8-aligned access!

Jan 17 2019, 3:56 PM