Page MenuHomePhabricator

Please use GitHub pull requests for new patches. Phabricator shutdown timeline

mattdr (Matthew Riley)
User

Projects

User does not belong to any projects.

User Details

User Since
Mar 16 2020, 1:52 PM (183 w, 3 d)

Recent Activity

Feb 27 2023

mattdr accepted D144585: [Nomination] Adding Nvidia Compiler security representative to the LLVM security group..
Feb 27 2023, 4:30 PM · Restricted Project, Restricted Project

Nov 29 2022

mattdr accepted D138898: [Nomination] Adding Mozilla representative to security group.
Nov 29 2022, 10:24 AM · Restricted Project, Restricted Project

Mar 17 2022

mattdr accepted D119137: Replace Steve Klabnik with Josh Stone as one of the Rust Security Response WG representatives.
Mar 17 2022, 9:37 PM · Restricted Project, Restricted Project

Dec 14 2021

mattdr accepted D115657: [Nomination] Adding Intel representatives to security group.
Dec 14 2021, 10:54 AM · Restricted Project

Aug 2 2021

mattdr accepted D106906: [Nomination] Adding an Nvidia representative to security group.
Aug 2 2021, 9:34 AM · Restricted Project

Jul 28 2021

mattdr accepted D106964: [Security] Replace a Sony member.

Happy to welcome Tim, agree with @emaste 's comment

Jul 28 2021, 10:41 PM · Restricted Project
mattdr accepted D106917: Security: make peoples' phab names obvious; recommend phab as the place for nominations.

Many thanks for getting this spelled out.

Jul 28 2021, 10:40 PM · Restricted Project

May 11 2021

mattdr accepted D100873: [docs] Describe reporting security issues on the chromium tracker..

This puts the "how to report" instructions front and center, which is by far the most important thing in the doc. Thank you!

May 11 2021, 3:25 PM · Restricted Project

Apr 21 2021

mattdr accepted D100864: Replace Apple representative to security group..
Apr 21 2021, 1:14 AM · Restricted Project

Mar 24 2021

mattdr accepted D99232: [Nomination] Adding new Google representative to security group.
Mar 24 2021, 9:27 AM · Restricted Project

Mar 23 2021

mattdr added a comment to D99232: [Nomination] Adding new Google representative to security group.

I want to avoid being the first one to approve, given our mutual affiliation, but at least wanted to confirm the story: @george.burgess.iv will be a valuable contact given his existing LLVM affiliation and deep involvement with the deployment of LLVM toolchains across several Google products.

Mar 23 2021, 9:28 PM · Restricted Project

Oct 19 2020

mattdr accepted D89287: Adding new Azul representative to security group.

Accepted and ready to land. Could I impose on someone with commit access? Thanks.

Oct 19 2020, 10:45 AM · Restricted Project

Oct 16 2020

mattdr added a comment to D89287: Adding new Azul representative to security group.

<note to self: procedure is "five business days", so next action here is Monday October 17>

Oct 16 2020, 5:06 PM · Restricted Project

Oct 9 2020

mattdr accepted D89068: Add expected response time and escalation path to the security docs.

Thanks for writing this down. I think this presents a consistent state on our way to something more permanent. LGTM.

Oct 9 2020, 1:21 AM · Restricted Project

Oct 6 2020

mattdr added a comment to D75940: [x86][seses] Add documentation for SESES.

Blast from the past. It seems like there's still benefit in checking in this documentation, appropriately updated to reflect the fact that SESES is now actually in the tree.

Oct 6 2020, 4:23 PM · Restricted Project

Aug 27 2020

mattdr accepted D86742: Step down from security group.

And now his watch is ended. Thank you for getting this started!

Aug 27 2020, 3:13 PM · Restricted Project

Jul 27 2020

mattdr accepted D84471: [X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations.
Jul 27 2020, 1:29 PM · Restricted Project
mattdr added inline comments to D84471: [X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations.
Jul 27 2020, 11:51 AM · Restricted Project

Jul 24 2020

mattdr accepted D84471: [X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations.
Jul 24 2020, 4:07 PM · Restricted Project

Jul 23 2020

mattdr added a comment to D84471: [X86] Fix for ballooning compile times due to Load Value Injection (LVI) mitigations.

Glad that we could make this simpler without making the resulting code much slower!

Jul 23 2020, 4:28 PM · Restricted Project

Jun 10 2020

mattdr added a comment to D81506: [X86] Automatically harden inline assembly RET instructions against Load Value Injection (LVI).

Ack, thanks for setting me straight on that. Yes, I was talking about the mapping of assembly instructions back to sourceloc that could be displayed in GDB.

Jun 10 2020, 4:43 PM · Restricted Project
mattdr accepted D81506: [X86] Automatically harden inline assembly RET instructions against Load Value Injection (LVI).

LGTM, one question about source locations

Jun 10 2020, 4:08 PM · Restricted Project

Jun 9 2020

mattdr accepted D80964: [X86] Add an Unoptimized Load Value Injection (LVI) Load Hardening Pass.

Thank you for the analysis and for the example, they were really helpful. Agree the approaches are different. They feel similar enough I wish we could find one that satisfied all relevant requirements, but I can't say with any certainty that e.g. SESES' performance is on par with the mitigation proposed here.

Jun 9 2020, 1:04 AM · Restricted Project

Jun 5 2020

mattdr added a comment to D80964: [X86] Add an Unoptimized Load Value Injection (LVI) Load Hardening Pass.

Isn't this pass basically SESES? https://github.com/llvm/llvm-project/blob/master/llvm/lib/Target/X86/X86SpeculativeExecutionSideEffectSuppression.cpp

Jun 5 2020, 3:10 PM · Restricted Project

May 20 2020

mattdr added a comment to D79910: [x86][seses] Add clang flag; Use lvi-cfi with seses.

Took a quick look and seems sane -- will look after Craig's comment is addressed and build is passing

May 20 2020, 4:00 PM · Restricted Project, Restricted Project

May 18 2020

mattdr added a comment to D80064: [X86] Disable LVI load hardening pass at O0.

Of course that raises a fun question: where do we put the code to make sure we warn if the pass is disabled? It can't be in the pass itself.

May 18 2020, 11:54 AM · Restricted Project

May 13 2020

mattdr added inline comments to D79743: [clang][asm goto][slh] Warn if asm goto + SLH.
May 13 2020, 6:34 PM · Restricted Project
mattdr added a comment to D79743: [clang][asm goto][slh] Warn if asm goto + SLH.

Not sure we want to move this into the Parser -- SLH is a property of code generation, and I think it's possible (through LTO?) to mismatch the flags between parse and codegen.

May 13 2020, 6:02 PM · Restricted Project
mattdr accepted D79894: [clang][slh] Add test for SLH feature checking macro.
May 13 2020, 5:31 PM · Restricted Project

May 12 2020

mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

I'm no expert in the pass manager, but given the very targeted applicability of LVI it definitely seems like our goal should be 0% impact for the vast majority of compilations that don't concern themselves with it.

May 12 2020, 1:27 PM · Restricted Project, Restricted Project

May 11 2020

mattdr accepted D79733: [clang][SLH] Add __has_feature(speculative_load_hardening).
May 11 2020, 1:28 PM · Restricted Project
mattdr updated subscribers of D79733: [clang][SLH] Add __has_feature(speculative_load_hardening).
May 11 2020, 12:55 PM · Restricted Project

May 8 2020

mattdr accepted D75937: Add Support to X86 for Load Hardening to Mitigate Load Value Injection (LVI) [5/6].
May 8 2020, 12:20 PM · Restricted Project
mattdr accepted D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

The extra comments and the new variable name are all helpful. Thanks again.

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

May 7 2020

mattdr added a comment to D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].

Isn't that binutils patch adding IRET (opcode 0xcf)? LRET(opcodes 0xca and 0xcb) were already there.

May 7 2020, 4:51 PM · Restricted Project
mattdr accepted D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].

The coverage of the LVI mitigations for LLVM should match the coverage of the mitigations implemented for binutils. Both should adhere to the guidance outlined in this document: https://software.intel.com/security-software-guidance/insights/deep-dive-load-value-injection.

I mean, yes, sure, I want that too, but that doc just says the Intel patches to GNU binutils work by "by inserting an LFENCE instruction after each instruction that performs a load". And the binutils implementation does seem to be trying to make that true?

May 7 2020, 3:14 PM · Restricted Project
mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

Calling special attention to the comment at line 341, since I think it affects the correctness of the pass.

May 7 2020, 2:09 PM · Restricted Project, Restricted Project

Apr 27 2020

mattdr added inline comments to D75937: Add Support to X86 for Load Hardening to Mitigate Load Value Injection (LVI) [5/6].
Apr 27 2020, 3:39 PM · Restricted Project

Apr 23 2020

mattdr accepted D75937: Add Support to X86 for Load Hardening to Mitigate Load Value Injection (LVI) [5/6].

Still some comments to address, but I think this is substantially close to where it needs to be. Thanks so much for your work making the code more straightforward and readable!

Apr 23 2020, 11:18 PM · Restricted Project
mattdr accepted D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].

Whew. I still think putting this in the X86 assembly parser (so it doesn't round-trip) is crazypants, and I wish we were relying more on instruction metadata rather than hardcoded lists, but if I take those decisions as given then this implementation seems fine.

Apr 23 2020, 11:18 PM · Restricted Project

Apr 15 2020

mattdr requested changes to D75937: Add Support to X86 for Load Hardening to Mitigate Load Value Injection (LVI) [5/6].

Reviewed the algorithm, have to confess I skipped the tests.

Apr 15 2020, 1:36 AM · Restricted Project

Apr 14 2020

mattdr added inline comments to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].
Apr 14 2020, 10:50 PM · Restricted Project, Restricted Project

Apr 13 2020

mattdr accepted D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

Accepting modulo some comments to be addressed. Most of my review effort was spent on the data structure and algorithm employed as well as code style and readability.

Apr 13 2020, 4:53 PM · Restricted Project, Restricted Project

Apr 10 2020

mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

@craig.topper can you please update/rebase this stack to remove the early LVI CFI work that ended up landed in https://reviews.llvm.org/D76812 instead?

Apr 10 2020, 5:15 PM · Restricted Project, Restricted Project
mattdr added a comment to D75934: Add Indirect Thunk Support to X86 to mitigate Load Value Injection (LVI) [2/6].

I accidentally spent time reviewing this, only to cross-reference something in the LLVM code and find another diff (https://reviews.llvm.org/D76812) was written to answer Zola's request and has already been submitted.

Apr 10 2020, 5:15 PM · Restricted Project

Apr 9 2020

mattdr added a comment to D75935: Add RET-hardening Support to X86 to mitigate Load Value Injection (LVI) [3/6].

LGTM

Apr 9 2020, 5:39 PM · Restricted Project
mattdr added inline comments to D75935: Add RET-hardening Support to X86 to mitigate Load Value Injection (LVI) [3/6].
Apr 9 2020, 5:39 PM · Restricted Project
mattdr added a reviewer for D75935: Add RET-hardening Support to X86 to mitigate Load Value Injection (LVI) [3/6]: mattdr.
Apr 9 2020, 5:39 PM · Restricted Project
mattdr added inline comments to D75935: Add RET-hardening Support to X86 to mitigate Load Value Injection (LVI) [3/6].
Apr 9 2020, 5:26 PM · Restricted Project

Apr 7 2020

mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

I'll wait for current comments to be addressed before doing my next round here.

Apr 7 2020, 3:49 PM · Restricted Project, Restricted Project
mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

Some more comments. FWIW, I'm doing rounds of review as I can in some evening quiet or during my son's nap. This is a huge change and it's really hard to get any part of it into my head at once in a reasonable amount of time.

Apr 7 2020, 3:16 PM · Restricted Project, Restricted Project
mattdr added inline comments to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].
Apr 7 2020, 3:45 AM · Restricted Project, Restricted Project
mattdr added inline comments to D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].
Apr 7 2020, 3:12 AM · Restricted Project

Apr 4 2020

mattdr added inline comments to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].
Apr 4 2020, 2:30 AM · Restricted Project, Restricted Project

Apr 3 2020

mattdr added inline comments to D75937: Add Support to X86 for Load Hardening to Mitigate Load Value Injection (LVI) [5/6].
Apr 3 2020, 5:21 PM · Restricted Project
mattdr added a comment to D75936: Add a Pass to X86 that builds a Condensed CFG for Load Value Injection (LVI) Gadgets [4/6].

Adding a few early style notes for the next round, but overall echo @chandlerc that this seems significantly outside of normal LLVM code.

Apr 3 2020, 5:21 PM · Restricted Project, Restricted Project

Mar 18 2020

mattdr added a comment to D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].

First, want to apologize for the high latency -- thanks to (gestures vaguely in the air) I've been mostly offline during the day and trying to catch up at night.

Mar 18 2020, 3:13 AM · Restricted Project

Mar 16 2020

mattdr added a comment to D76158: Add inline assembly load hardening mitigation for Load Value Injection (LVI) on X86 [6/6].

This seems like a much more robust approach for mitigating inline asm. Thanks for that!

Mar 16 2020, 2:12 PM · Restricted Project