mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/
synced 2026-09-28 19:20:30 +00:00
x86/debug: Fix DR6 handling
Tom reported that one of the GDB test-cases failed, and Boris bisected it to commit:d53d9bc0cf("x86/debug: Change thread.debugreg6 to thread.virtual_dr6") The debugging session led us to commit:6c0aca288e("x86: Ignore trap bits on single step exceptions") It turns out that TF and data breakpoints are both traps and will be merged, while instruction breakpoints are faults and will not be merged. This means6c0aca288eis wrong, only TF and instruction breakpoints need to be excluded while TF and data breakpoints can be merged. [ bp: Massage commit message. ] Fixes:d53d9bc0cf("x86/debug: Change thread.debugreg6 to thread.virtual_dr6") Fixes:6c0aca288e("x86: Ignore trap bits on single step exceptions") Reported-by: Tom de Vries <tdevries@suse.de> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Signed-off-by: Borislav Petkov <bp@suse.de> Cc: <stable@vger.kernel.org> Link: https://lkml.kernel.org/r/YBMAbQGACujjfz%2Bi@hirez.programming.kicks-ass.net Link: https://lkml.kernel.org/r/20210128211627.GB4348@worktop.programming.kicks-ass.net
This commit is contained in:
parent
20bf2b3787
commit
9ad22e1659
1 changed files with 18 additions and 21 deletions
Loading…
Add table
Add a link
Reference in a new issue