• Vlad Tsyrklevich's avatar
    Revert "[cfi-icall] Use ProtectedMemory for GetProcAddress" · 5c3c4ac8
    Vlad Tsyrklevich authored
    This reverts commit d2cc1555.
    
    Reason for revert: speculative revert, this might cause hangs on Linux component builds due to linker symbol resolution issues.
    
    Original change's description:
    > [cfi-icall] Use ProtectedMemory for GetProcAddress
    > 
    > Control Flow Integrity [1] indirect call (cfi-icall) checking can not
    > verify that dynamically resolved function pointers call their intended
    > function. Instead we place the pointer for GLGetProcAddress in
    > ProtectedMemory, a wrapper for keeping variables in read-only memory
    > except for when they are initialized.  After setting the pointer in
    > protected memory we can use the UnsanitizedCfiCall wrapper to disable
    > cfi-icall checking when calling it since we know it can not be tampered
    > with.
    > 
    > [1] https://www.chromium.org/developers/testing/control-flow-integrity
    > 
    > Bug: 771365
    > Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
    > Change-Id: Ia79c1cfab8e00f88bcc437c34cbb3012537c015a
    > Reviewed-on: https://chromium-review.googlesource.com/769654
    > Commit-Queue: Peter Collingbourne <pcc@chromium.org>
    > Reviewed-by: Kenneth Russell <kbr@chromium.org>
    > Reviewed-by: Peter Collingbourne <pcc@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#517208}
    
    TBR=kbr@chromium.org,pcc@chromium.org,vtsyrklevich@chromium.org
    
    Change-Id: Ia474d99619795f9b2c40422858caf2a02461e462
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: 771365
    Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
    Reviewed-on: https://chromium-review.googlesource.com/775596Reviewed-by: default avatarPeter Collingbourne <pcc@chromium.org>
    Commit-Queue: Peter Collingbourne <pcc@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#517224}
    5c3c4ac8
gl_implementation.cc 8.21 KB