https://bugs.kde.org/show_bug.cgi?id=405377

            Bug ID: 405377
           Summary: Handle new Linux kernel feature: Restartable Sequences
                    ("rseq")
           Product: valgrind
           Version: unspecified
          Platform: unspecified
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: jsew...@acm.org
          Reporter: derek.bruen...@gmail.com
  Target Milestone: ---

The Linux kernel has introduced a new feature called "Restartable Sequences"
or "rseq".  This raises multiple problems for dynamic binary instrumentation,
including loss of control due to the kernel redirecting the PC and incorrect
application behavior due to failing to preserve the semantics of these
code sequences.

DynamoRIO has looked at and tried to solve these issues for an earlier
version of rseq.  The new version of rseq, the one that went into the
official linux kernel, is more difficult to handle and may require
establishing conventions among software developers who use rseq.  Given that,
it may make sense to collaboratively come up with a solution that works for
all dynamic instrumentation frameworks.

See Kevin's post to the valgrind-developers list:
https://sourceforge.net/p/valgrind/mailman/valgrind-developers/thread/CAB%3DH8NUgjS9Ee7r_VWoBXafAZVYzW1%2BeHPzmA3j-Qeo2n22nmg%40mail.gmail.com/#msg36584233

See a writeup with further details of rseq and ideas for how to handle it here:
https://github.com/DynamoRIO/dynamorio/wiki/Restartable-Sequences

The kernel commit adding rseq:
https://github.com/torvalds/linux/commit/d82991a8688ad128b46db1b42d5d84396487a508

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to