[cfi-icall] Use ProtectedMemory for localtime ptrs
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 LibcFunctions pointers in ProtectedMemory, a wrapper for keeping variables in read-only memory except for when they are initialized. After setting the pointers in protected memory we can use the UnsanitizedCfiCall wrapper to disable cfi-icall checking when calling them since we know they can not be tampered with. [1] https://www.chromium.org/developers/testing/control-flow-integrity Bug: 771365 Change-Id: Ib74faff066e1107293b67d11f2a1a054bbff08b5 Reviewed-on: https://chromium-review.googlesource.com/769853Reviewed-by:Chris Palmer <palmer@chromium.org> Reviewed-by:
Jorge Lucangeli Obes <jorgelo@chromium.org> Reviewed-by:
Peter Collingbourne <pcc@chromium.org> Commit-Queue: Peter Collingbourne <pcc@chromium.org> Cr-Commit-Position: refs/heads/master@{#517152}
Showing
Please register or sign in to comment