• Salome Thirot's avatar
    [arm64] Implement list of allowed return addresses in the deoptimizer · 929dd374
    Salome Thirot authored
    When CFI is enabled this adds a check against this list whenever a new
    return address must be set in a deoptimized frame, as a mitigation for
    ROP attacks.
    The list is known at linking time so that its content and the pointer
    to it can be stored in a read-only memory section.
    The check is performed in the signing function, which is no longer
    generic, as well as when setting the current pc of the frame.
    Since the pc is now only signed when setting the caller's pc, there
    is no need for ReplaceContext anymore.
    
    Bug: v8:10026
    Change-Id: I5e85a62b94722051716fdeba476db383c702a318
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2287490Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Commit-Queue: Rodolph Perfetta <rodolph.perfetta@arm.com>
    Cr-Commit-Position: refs/heads/master@{#69478}
    929dd374
test-unwinder.cc 23.2 KB