|
|
Description[Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile.
This enables support for CFG that is already compiled into Microsoft
system DLLs - in any of our processes.
Also disabling compilation of CFG with MSVC compiler. Preparing for
clang CFI instead.
TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite.
BUG=584575
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng
TBR=thestig or jochen (chrome\BUILD.gn)
Review-Url: https://codereview.chromium.org/2693193005
Cr-Commit-Position: refs/heads/master@{#451116}
Committed: https://chromium.googlesource.com/chromium/src/+/f160102d25fb949a3ed24478268b8835cc086477
Patch Set 1 #
Messages
Total messages: 29 (16 generated)
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. BUG=584575 ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ==========
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ==========
pennymac@chromium.org changed reviewers: + wfh@chromium.org
pennymac@chromium.org changed reviewers: + scottmg@chromium.org
pennymac@chromium.org changed reviewers: + thestig@chromium.org
Hello folks, Thanks for your help doing a small review. This CL moves the linker CFG argument into common_linker_setup so that all our processes make use of CFG build into Microsoft system binaries. I've also removed the compilation support, which currently only impacts chrome_elf. This is making way for clang roll out. scottmg: build\config\win\BUILD.gn thestig: chrome\BUILD.gn wfh: everything else sanity check!
The CQ bit was checked by pennymac@chromium.org to run a CQ dry run
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ==========
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm
I think this means we'll only use CFG on LINK.EXE from now on, and not CL? Before this CL, what was being compiled with CFG on CL? Do we lose any CFG coverage with this CL? Is there a roadmap/plan for the future of CFG vs clang-cfi?
On 2017/02/15 20:49:04, Will Harris wrote: > I think this means we'll only use CFG on LINK.EXE from now on, and not CL? > > Before this CL, what was being compiled with CFG on CL? Do we lose any CFG > coverage with this CL? > > Is there a roadmap/plan for the future of CFG vs clang-cfi? As seen in my first message: "I've also removed the compilation support, which currently only impacts chrome_elf." Yes, this support as seen in build\config\win\BUILD.gn is not programmatically forced on only link.exe - but of course only link.exe would work with this cmdline linker argument for now. Which is fine for the up-coming rollout of clang as a *compiler*. Once lexan starts to work on the linker switch out, they'll have to update clang support for this. (And I'll be supporting them on this.) I'm happy to report that if they "forget" to do this, the new cfg test case added in https://codereview.chromium.org/2679793002/ would break. :) Let me know if you have any other questions. Thanks!
Is removing compiler-time CFG from chrome_elf an acceptable security regression?
On 2017/02/15 21:46:20, Will Harris wrote: > Is removing compiler-time CFG from chrome_elf an acceptable security regression? My assessment of this was "yes". It was in fact only a very small portion of "chrome_elf". Only the (I believe only one) file compiled under the gn "chrome_elf" project that had cfg compiled in. Any dependency projects were NOT previously opted in for cfg compilation.
On 2017/02/15 21:51:34, penny wrote: > On 2017/02/15 21:46:20, Will Harris wrote: > > Is removing compiler-time CFG from chrome_elf an acceptable security > regression? > > My assessment of this was "yes". It was in fact only a very small portion of > "chrome_elf". Only the (I believe only one) file compiled under the gn > "chrome_elf" project that had cfg compiled in. Any dependency projects were NOT > previously opted in for cfg compilation. Yup, chrome_elf_main.cc.
lgtm
On 2017/02/15 21:52:50, penny wrote: > On 2017/02/15 21:51:34, penny wrote: > > On 2017/02/15 21:46:20, Will Harris wrote: > > > Is removing compiler-time CFG from chrome_elf an acceptable security > > regression? > > > > My assessment of this was "yes". It was in fact only a very small portion of > > "chrome_elf". Only the (I believe only one) file compiled under the gn > > "chrome_elf" project that had cfg compiled in. Any dependency projects were > NOT > > previously opted in for cfg compilation. > > Yup, chrome_elf_main.cc. Sadly, I am halting a fair bit of work I had already done (but not landed) to compile cfg into most of our chrome code (with updates to our sandbox hooking infrastructure). At this point, it's worth holding off until CFI can be tackled completely differently.
pennymac@chromium.org changed reviewers: + jochen@chromium.org - thestig@chromium.org
jochen, could I get you to review a tiny change to src\chrome\BUILD.gn please? thestig appears to be ooo. It's tiny. Ping me if you have any questions. Thanks!
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng TBR=thestig@chromium.org,jochen@chromium.org (chrome\BUILD.gn) ==========
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng TBR=thestig@chromium.org,jochen@chromium.org (chrome\BUILD.gn) ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng TBR=thestig or jochen (chrome\BUILD.gn) ==========
The CQ bit was checked by pennymac@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lgtm
CQ is committing da patch. Bot data: {"patchset_id": 1, "attempt_start_ts": 1487275544087020, "parent_rev": "f1716821e93c7d19a81a0c22f9cbd03fdb3e037d", "commit_rev": "f160102d25fb949a3ed24478268b8835cc086477"}
Message was sent while issue was closed.
Description was changed from ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng TBR=thestig or jochen (chrome\BUILD.gn) ========== to ========== [Windows MSVC CFG] Turning on linker CFG for all. Disabling CFG compile. This enables support for CFG that is already compiled into Microsoft system DLLs - in any of our processes. Also disabling compilation of CFG with MSVC compiler. Preparing for clang CFI instead. TEST=CFGSupportTests.MsIndirectFailure in sbox_integration_tests suite. BUG=584575 CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.win:win10_chromium_x64_rel_ng TBR=thestig or jochen (chrome\BUILD.gn) Review-Url: https://codereview.chromium.org/2693193005 Cr-Commit-Position: refs/heads/master@{#451116} Committed: https://chromium.googlesource.com/chromium/src/+/f160102d25fb949a3ed24478268b... ==========
Message was sent while issue was closed.
Committed patchset #1 (id:1) as https://chromium.googlesource.com/chromium/src/+/f160102d25fb949a3ed24478268b... |