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
  • Merge requests
  • !2396

i#2350 rseq: run restartable sequences natively

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Derek Bruening requested to merge i2350-rseq-native into master Apr 28, 2017
  • Overview 1
  • Commits 2
  • Pipelines 0
  • Changes 6

Adds preliminary handling for restartable sequences in Linux, a kernel feature meant for per-cpu critical regions. The code here targets a particular Linux kernel patch, but tries to be general to make it easy to tweak for other flavors.

Adds a new option -rseq_sysnum to enable this support and to specify the syscall number for the kernel extension.

For initial handling, we execute the restartable sequence natively. It is very complex to build regular blocks and support instrumentation, so we start with native execution to at least allow correct app execution even if tools miss some code. We assume each sub-sequence is entered via a call and exited via a return, and we use our existing native_exec gateway and resumption mechanisms.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: i2350-rseq-native