Page MenuHomePhabricator

glider (Alexander Potapenko)
User

Projects

User does not belong to any projects.

User Details

User Since
Nov 6 2012, 6:28 AM (440 w, 1 d)

Recent Activity

Oct 5 2020

glider added a comment to D88686: Release the shadow memory used by the mmap range at munmap.

Fine, thanks for explaining!

Oct 5 2020, 9:54 AM · Restricted Project
glider added a comment to D88686: Release the shadow memory used by the mmap range at munmap.

I might be missing something, but if you release one of the shadow pages to the OS, couldn't it then accidentally use that page for one of the user anonymous mappings, thus breaking DFSan logic?

Oct 5 2020, 12:47 AM · Restricted Project

Jul 17 2020

glider added a comment to D83949: [TSan] Do not compound reads and writes when separated by atomics.

I don't object against dropping it. I had another case in mind, which turned out to be an actual data race, not something that the compiler pulled out of thin air.

Jul 17 2020, 1:06 AM · Restricted Project

Jul 16 2020

glider accepted D83867: [TSan] Add option for emitting compound read-write instrumentation.
Jul 16 2020, 10:11 AM · Restricted Project
glider abandoned D57158: [RFC] [KASAN] Instrument globals.
Jul 16 2020, 4:48 AM
glider added a comment to D83867: [TSan] Add option for emitting compound read-write instrumentation.

What happens if the load and the store are separated by a barrier atomic load or store? Will they also be combined into a single operation?

Jul 16 2020, 3:29 AM · Restricted Project

Jun 18 2020

glider added a comment to D81699: MemorySanitizer: Add option to insert init checks at call site.

Wrapping all variables in the existing tests in PartInit<> doesn't look good.
I believe instead of doing this you need to:

  • change existing tests to also run with eager checks, adding expected MSan outputs as needed. Do not scatter PartInit<> across all tests.
  • add more tests that use the partinit attribute to cover new functionality.
Jun 18 2020, 6:29 AM · Restricted Project, Restricted Project

Jun 16 2020

glider added inline comments to D76665: [asan] Stop instrumenting user-defined ELF sections.
Jun 16 2020, 1:04 AM · Restricted Project, Restricted Project

Jun 10 2020

glider accepted D81390: [KernelAddressSanitizer] Make globals constructors compatible with kernel [v2].

LGTM assuming allyesconfig builds.

Jun 10 2020, 4:20 AM · Restricted Project, Restricted Project

Jun 9 2020

glider added inline comments to D81390: [KernelAddressSanitizer] Make globals constructors compatible with kernel [v2].
Jun 9 2020, 7:39 AM · Restricted Project, Restricted Project

Jun 5 2020

glider accepted D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

LGTM

Jun 5 2020, 10:35 AM · Restricted Project, Restricted Project

Jun 2 2020

glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Cool, didn't know that; then the change sure looks reasonable.

Jun 2 2020, 10:58 AM · Restricted Project, Restricted Project
glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Could you please add an IR test for this?

Was planning to -- sorry, I should have mentioned: before I go add tests, does this look sane to you?

Jun 2 2020, 6:03 AM · Restricted Project, Restricted Project

May 29 2020

glider added a comment to D80805: [KernelAddressSanitizer] Make globals constructors compatible with kernel.

Could you please add an IR test for this?

May 29 2020, 9:12 AM · Restricted Project, Restricted Project

May 28 2020

glider accepted D80668: [Clang][Sanitizers] Expect test failure on {arm,thumb}v7.
May 28 2020, 2:07 AM · Restricted Project
glider added inline comments to D80668: [Clang][Sanitizers] Expect test failure on {arm,thumb}v7.
May 28 2020, 1:35 AM · Restricted Project

Apr 30 2020

glider added a comment to D79133: [scudo] Zero- and pattern-initialization of memory..

Re: calloc behavior, it probably should not return patter-initialized memory even if pattern initialization is enabled.
A lot of code depend on calloc returning zeroes.

Apr 30 2020, 9:35 AM · Restricted Project
glider added a comment to D79133: [scudo] Zero- and pattern-initialization of memory..

Out of curiosity, is there any reason to have pattern initialization for heap?
As security researchers note (see the discussion of stack initialization on cfe-dev), zero-initialization has a smaller probability of making existing bugs exploitable.
On the other hand, there is no downside in making the heap zero-initialized, as library features do not introduce language dialects.

Apr 30 2020, 9:02 AM · Restricted Project
glider committed rGa22685885d19: [AddressSanitizer] Instrument byval call arguments (authored by thejh).
[AddressSanitizer] Instrument byval call arguments
Apr 30 2020, 8:30 AM
glider committed rGcfe36e4c6a66: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction (authored by thejh).
[AddressSanitizer] Refactor: Permit >1 interesting operands per instruction
Apr 30 2020, 8:30 AM
glider closed D77619: [AddressSanitizer] Instrument byval call arguments.
Apr 30 2020, 8:30 AM · Restricted Project
glider committed rGe29996c9a218: [AddressSanitizer] Refactor ClDebug{Min,Max} handling (authored by thejh).
[AddressSanitizer] Refactor ClDebug{Min,Max} handling
Apr 30 2020, 8:30 AM
glider committed rG223a95fdf078: [AddressSanitizer] Split out memory intrinsic handling (authored by thejh).
[AddressSanitizer] Split out memory intrinsic handling
Apr 30 2020, 8:30 AM
glider closed D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 30 2020, 8:30 AM · Restricted Project
glider closed D77617: [AddressSanitizer] Split out memory intrinsic handling.
Apr 30 2020, 8:30 AM · Restricted Project
glider closed D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.
Apr 30 2020, 8:30 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77617: [AddressSanitizer] Split out memory intrinsic handling.

fix what I broke

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

update

Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

Trying to fix the state of the things

Apr 30 2020, 7:56 AM · Restricted Project
glider reopened D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 30 2020, 7:56 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

rebase

Apr 30 2020, 7:56 AM · Restricted Project
glider committed rG7e7754df3249: Revert an accidental commit of four AddressSanitizer refactor CLs (authored by glider).
Revert an accidental commit of four AddressSanitizer refactor CLs
Apr 30 2020, 7:22 AM
glider added a reverting change for rGcfb5f89b62f8: [AddressSanitizer] Refactor ClDebug{Min,Max} handling: rG7e7754df3249: Revert an accidental commit of four AddressSanitizer refactor CLs.
Apr 30 2020, 7:22 AM
glider committed rGcfb5f89b62f8: [AddressSanitizer] Refactor ClDebug{Min,Max} handling (authored by thejh).
[AddressSanitizer] Refactor ClDebug{Min,Max} handling
Apr 30 2020, 6:47 AM
glider closed D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

I've landed this revision. There are some difficulties with the rest, sorting that out.

Apr 30 2020, 6:46 AM · Restricted Project
glider updated the diff for D77619: [AddressSanitizer] Instrument byval call arguments.

Rebase

Apr 30 2020, 6:12 AM · Restricted Project
glider updated the diff for D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

Rebase

Apr 30 2020, 6:12 AM · Restricted Project

Apr 28 2020

glider accepted D77619: [AddressSanitizer] Instrument byval call arguments.
Apr 28 2020, 2:39 AM · Restricted Project

Apr 16 2020

glider accepted D77618: [AddressSanitizer] Refactor: Permit >1 interesting operands per instruction.
Apr 16 2020, 7:16 AM · Restricted Project

Apr 15 2020

glider accepted D77617: [AddressSanitizer] Split out memory intrinsic handling.
Apr 15 2020, 8:44 AM · Restricted Project
glider accepted D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.
Apr 15 2020, 8:11 AM · Restricted Project

Apr 12 2020

glider added a comment to D77616: [AddressSanitizer] Refactor ClDebug{Min,Max} handling.

I've skimmed through the four patches and they look good. Can you please fix the lint checks?

Apr 12 2020, 2:39 AM · Restricted Project

Mar 26 2020

glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Yeah, like i said, noinline is insufficient here, and i don't actually
think we currently have the right tool to block any such transform:

Do you think it makes sense to check for noinline before transforming the call into the argument, i.e.:

Mar 26 2020, 7:00 AM · Restricted Project
glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

I'm going to guess __attribute__((no_sanitize())) needs to also imply (read: implicitly add) noinline attribute,
but even that is not sufficient to block inter-procedural optimizations.
See also disscussion in https://reviews.llvm.org/D53431

Mar 26 2020, 3:45 AM · Restricted Project

Mar 25 2020

glider updated subscribers of D75815: [InstCombine] Simplify calls with "returned" attribute.

@glider Not quite sure what to do on that front. Inlining here is prevented due to an ABI mismatch,

Mar 25 2020, 2:40 AM · Restricted Project

Mar 24 2020

glider added a comment to D75815: [InstCombine] Simplify calls with "returned" attribute.

Hi Nikita,

Mar 24 2020, 8:34 AM · Restricted Project

Mar 3 2020

glider added inline comments to D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Mar 3 2020, 7:46 AM · Restricted Project

Feb 19 2020

glider added a comment to D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).

Hi Florian, Eli et al.,

Feb 19 2020, 10:48 AM · Restricted Project
glider updated subscribers of D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Feb 19 2020, 10:48 AM · Restricted Project
glider created D74853: [RFC WIP] Fix DSE for asm outputs (aka PR44913).
Feb 19 2020, 10:48 AM · Restricted Project

Oct 23 2019

glider added a comment to D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

As a data point, Linus Torvalds suggested that we need a similar feature for GCC so that the "kernel C standard" mandates zero-initialization for locals: https://lkml.org/lkml/2019/7/28/206

I'm wondering why they never pushed all the way for a -std=linux-c flag instead, and produced a documentation with the behavior they want with respect to the base C standard they align on.

Oct 23 2019, 8:51 AM · Restricted Project

Oct 21 2019

glider updated subscribers of D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

Adding more people from the original discussion.

Oct 21 2019, 7:38 AM · Restricted Project

Oct 11 2019

glider committed rL374523: Request commit access for glider.
Request commit access for glider
Oct 11 2019, 1:36 AM

Aug 30 2019

glider committed rG57b87322ab4f: [CodeGen]: fix error message for "=r" asm constraint (authored by glider).
[CodeGen]: fix error message for "=r" asm constraint
Aug 30 2019, 2:05 AM
glider committed rL370444: [CodeGen]: fix error message for "=r" asm constraint.
[CodeGen]: fix error message for "=r" asm constraint
Aug 30 2019, 1:58 AM
glider closed D66948: [CodeGen]: fix error message for "=r" asm constraint.
Aug 30 2019, 1:58 AM · Restricted Project, Restricted Project
glider updated the diff for D66948: [CodeGen]: fix error message for "=r" asm constraint.

Minor comment fix.

Aug 30 2019, 1:56 AM · Restricted Project, Restricted Project

Aug 29 2019

glider updated the diff for D66948: [CodeGen]: fix error message for "=r" asm constraint.

clang-format

Aug 29 2019, 8:10 AM · Restricted Project, Restricted Project
glider created D66948: [CodeGen]: fix error message for "=r" asm constraint.
Aug 29 2019, 8:06 AM · Restricted Project, Restricted Project
glider committed rG1b5e38a6c910: [CodeGen]: don't treat structures returned in registers as memory inputs (authored by glider).
[CodeGen]: don't treat structures returned in registers as memory inputs
Aug 29 2019, 4:24 AM
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Landed r370335, thank you!

Aug 29 2019, 4:24 AM · Restricted Project, Restricted Project
glider committed rL370335: [CodeGen]: don't treat structures returned in registers as memory inputs.
[CodeGen]: don't treat structures returned in registers as memory inputs
Aug 29 2019, 4:20 AM
glider closed D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Aug 29 2019, 4:20 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Rebased the patch

Aug 29 2019, 4:13 AM · Restricted Project, Restricted Project

Aug 26 2019

glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Aug 26 2019, 8:06 AM · Restricted Project, Restricted Project

Aug 7 2019

glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Added test cases for =x, replaced grep with not

Aug 7 2019, 8:53 AM · Restricted Project, Restricted Project
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

For the "=x" thing I was talking about, try the following testcase:

void a() { struct S { unsigned x[4]; } z; asm volatile("%0":"=x"(z)); }
void a2() { struct S { unsigned x[8]; } z; asm volatile("%0":"=x"(z)); }

clang trunk gives "error: couldn't allocate output register for constraint 'x'" in the backend for both functions. gcc prints "%xmm0" for the first, and rejects the second; not exactly sure why it's rejecting the second, though. It would be nice if both worked, although I guess it's okay if we print a reasonable error message. Please add a testcase, at least.

Aug 7 2019, 8:49 AM · Restricted Project, Restricted Project

Aug 5 2019

glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Eli, any other comments?

Aug 5 2019, 4:03 AM · Restricted Project, Restricted Project

Jul 30 2019

glider added a comment to D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.

As a data point, Linus Torvalds suggested that we need a similar feature for GCC so that the "kernel C standard" mandates zero-initialization for locals: https://lkml.org/lkml/2019/7/28/206

Jul 30 2019, 7:04 AM · Restricted Project
glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.

Vitaly, what's the current status of these patches? What's your plan on submitting them?

Jul 30 2019, 2:20 AM · Restricted Project, Restricted Project
glider added a comment to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

+srhines
Heads up: this patch reduces the size of the following Android kernel functions:

Jul 30 2019, 2:14 AM · Restricted Project, Restricted Project
glider added a reviewer for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs: srhines.
Jul 30 2019, 2:12 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Test for =X somehow sneaked in - drop it.

Jul 30 2019, 1:39 AM · Restricted Project, Restricted Project

Jul 29 2019

glider added inline comments to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 29 2019, 7:36 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Addressed Eli's comments, added a test for a packed struct

Jul 29 2019, 7:36 AM · Restricted Project, Restricted Project

Jul 26 2019

glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Make big_struct() test triple-specific

Jul 26 2019, 5:45 AM · Restricted Project, Restricted Project
glider added inline comments to D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 26 2019, 5:39 AM · Restricted Project, Restricted Project
glider updated the diff for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.

Fixed comments from Eli and Nick, added tests for unusual struct sizes

Jul 26 2019, 5:36 AM · Restricted Project, Restricted Project

Jul 24 2019

glider added reviewers for D65234: [CodeGen]: don't treat structures returned in registers as memory inputs: eli.friedman, jyknight.
Jul 24 2019, 11:20 AM · Restricted Project, Restricted Project
glider created D65234: [CodeGen]: don't treat structures returned in registers as memory inputs.
Jul 24 2019, 11:20 AM · Restricted Project, Restricted Project

Jul 16 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 16 2019, 6:58 AM · Restricted Project, Restricted Project

Jul 15 2019

glider added a reviewer for D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags: jfb.
Jul 15 2019, 7:43 AM · Restricted Project
glider created D64742: Allow using -ftrivial-auto-var-init=zero in C mode without extra flags.
Jul 15 2019, 7:38 AM · Restricted Project

Jul 5 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 5 2019, 10:12 AM · Restricted Project, Restricted Project
glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 5 2019, 6:25 AM · Restricted Project, Restricted Project

Jul 3 2019

glider added inline comments to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.
Jul 3 2019, 3:11 AM · Restricted Project, Restricted Project
glider added a comment to D61879: WIP: Prototype of DSE optimizations for -ftrivial-auto-var-init.

Vitaly, can you please rebase the patch?
As far as I can see, you've submitted parts of it already.
(not that I can't resolve the conflicts locally, but keeping it up-to-date may save others some time)

Jul 3 2019, 3:02 AM · Restricted Project, Restricted Project
glider committed rGf82672873a28: MSan: handle callbr instructions (authored by glider).
MSan: handle callbr instructions
Jul 3 2019, 2:32 AM
glider committed rL365008: MSan: handle callbr instructions.
MSan: handle callbr instructions
Jul 3 2019, 2:29 AM
glider closed D64072: MSan: handle callbr instructions.
Jul 3 2019, 2:29 AM · Restricted Project
glider updated the diff for D64072: MSan: handle callbr instructions.

Fixed the test

Jul 3 2019, 2:23 AM · Restricted Project

Jul 2 2019

glider created D64072: MSan: handle callbr instructions.
Jul 2 2019, 6:13 AM · Restricted Project

May 8 2019

glider added a comment to D61664: [NewPM] Setup Passes for KASan and KMSan.

Rubberstamp LGTM

May 8 2019, 2:51 AM · Restricted Project, Restricted Project
glider accepted D61664: [NewPM] Setup Passes for KASan and KMSan.
May 8 2019, 2:51 AM · Restricted Project, Restricted Project

Apr 30 2019

glider committed rG06d00afa61ee: MSan: handle llvm.lifetime.start intrinsic (authored by glider).
MSan: handle llvm.lifetime.start intrinsic
Apr 30 2019, 1:34 AM
glider committed rL359536: MSan: handle llvm.lifetime.start intrinsic.
MSan: handle llvm.lifetime.start intrinsic
Apr 30 2019, 1:33 AM
glider closed D60617: MSan: handle llvm.lifetime.start intrinsic.
Apr 30 2019, 1:33 AM · Restricted Project

Apr 29 2019

glider added a comment to D60617: MSan: handle llvm.lifetime.start intrinsic.

PTAL

Apr 29 2019, 1:04 AM · Restricted Project