Messages in this thread | | | From | Kyle Huey <> | Date | Wed, 19 Aug 2020 10:53:58 -0700 | Subject | [REGRESSION 5.8] x86/entry: DR0 break-on-write not working |
| |
rr, a userspace record and replay debugger[0], has a test suite that attempts to exercise strange corners of the Linux API. One such test[1] began failing after 2bbc68f8373c0631ebf137f376fbea00e8086be7. I have not tried to understand what has changed in the kernel here but since the commit message says "No functional change" I assume something has gone wrong.
The test expects to get a SIGTRAP when watchvar is written to in the forked child, but instead the program just exits normally and we get a status value corresponding to that (exit code 77 = wait status 0x4d00). This test program should be usable outside of rr's test suite if you replace the test_assert/atomic_puts functions with assert/printf and replace the util.h include with appropriate standard includes.
This regression is present in 5.8.
- Kyle
[0] https://rr-project.org/ [1] https://github.com/mozilla/rr/blob/master/src/test/x86/ptrace_debug_regs.c#L55
| |