-
Vlad Tsyrklevich authored
This is a reland of e77256b1 now that crrev.com/00fb4b7e landed fixing the lock-up issue we previously saw. Original change's description: > [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/769853 > Reviewed-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} Bug: 771365 Change-Id: Iaba5de8e37332878cd0b85c9dbdafc08e2d9a6ba Reviewed-on: https://chromium-review.googlesource.com/782739Reviewed-by:
Chris Palmer <palmer@chromium.org> Reviewed-by:
Peter Collingbourne <pcc@chromium.org> Commit-Queue: Peter Collingbourne <pcc@chromium.org> Cr-Commit-Position: refs/heads/master@{#518373}
812c7d68