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
  • #2372
Closed
Open
Issue created Apr 20, 2017 by Derek Bruening@derekbrueningContributor

native_exec with default options broken: the retaddr is never changed so we lose control

In d7c0a6fb a check for native_exec_retakeover was added around the code that changes the return address:

+    if (DYNAMO_OPTION(native_exec_retakeover) && !is_native_pc(*app_sp)) {
         <change retaddr>

Why does it check that off-by-default option? That breaks native exec: we don't change the retaddr so we just lose control.

How do the native exec tests that don't pass -native_exec_retakeover pass? They should all lose control (except the retakeover test). In fact, looking at their output, it looks like they do lose control! The tests only check for output, not whether under DR, so they still pass.

So it looks like native_exec has been broken since d7c0a6fb.

Assignee
Assign to
Time tracking