Messages in this thread | | | From | Kyle Huey <> | Date | Mon, 26 Oct 2020 09:08:38 -0700 | Subject | Re: [REGRESSION] x86/debug: After PTRACE_SINGLESTEP DR_STEP is no longer reported in dr6 |
| |
On Mon, Oct 26, 2020 at 8:55 AM Peter Zijlstra <peterz@infradead.org> wrote: > Urgh, now I have to try and remember how all that worked again ...
Sorry.
> I suspect it's either one (or both) of the last two: > > f4956cf83ed1 ("x86/debug: Support negative polarity DR6 bits") > d53d9bc0cf78 ("x86/debug: Change thread.debugreg6 to thread.virtual_dr6")
I think it's the latter, particularly the removal of this assignment[0]
> Just to clarify, the sequence is something like: > > - tracer: ptrace(PTRACE_SINGLESTEP) > - tracee: #DB, DR6 contains DR_STEP > - tracer: ptrace_get_debugreg(6)
Right.
> Also, can you confirm that pthread_set_debugreg(6) should not do > anything useful?
I don't believe it did anything useful.
- Kyle
[0] https://github.com/torvalds/linux/commit/d53d9bc0cf78#diff-51ce909c2f65ed9cc668bc36cc3c18528541d8a10e84287874cd37a5918abae5L790
| |