Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Issues
  • #1911
Closed
Open
Issue created Mar 24, 2016 by Administrator@rootContributor

ARM machine_cache_sync is not thread-safe

Created by: egrimley

According to sections B2.6.5 (AArch64) and E2.6.5 (AArch32) of the ARM ARM, when one CPU writes instructions that will be executed by another CPU, a number of operations must be performed on the first CPU (these are implemented by machine_cache_sync), and the second CPU must execute an ISB instruction when the modified instructions are observable and before it executes them. There does not appear to be any mechanism in place to ensure that the second CPU executes an ISB.

I do not know how likely it is that this non-conformance to the architecture specification will cause problems in practice. It is perhaps very unlikely. Also, I cannot see any efficient and easy way of forcing an ISB onto every CPU/thread.

Assignee
Assign to
Time tracking