Messages in this thread Patch in this message | | | Date | Thu, 9 Oct 2008 00:56:11 +0530 | From | "K.Prasad" <> | Subject | [RFC Patch 7/9] Modify signal handling code to refrain from re-enabling HW Breakpoints |
| |
This patch disables re-enabling of Hardware Breakpoint registers through the signal handling code. This is now during hw_breakpoint_handler().
Signed-off-by: K.Prasad <prasad@linux.vnet.ibm.com> Signed-off-by: Alan Stern <stern@rowland.harvard.edu> --- arch/x86/kernel/signal_32.c | 9 --------- arch/x86/kernel/signal_64.c | 8 -------- 2 files changed, 17 deletions(-)
Index: linux-bkpt-lkml-27-rc9/arch/x86/kernel/signal_32.c =================================================================== --- linux-bkpt-lkml-27-rc9.orig/arch/x86/kernel/signal_32.c +++ linux-bkpt-lkml-27-rc9/arch/x86/kernel/signal_32.c @@ -600,15 +600,6 @@ static void do_signal(struct pt_regs *re signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - /* - * Re-enable any watchpoints before delivering the - * signal to user space. The processor register will - * have been cleared if the watchpoint triggered - * inside the kernel. - */ - if (current->thread.debugreg7) - set_debugreg(current->thread.debugreg7, 7); - /* Whee! Actually deliver the signal. */ if (handle_signal(signr, &info, &ka, oldset, regs) == 0) { /* Index: linux-bkpt-lkml-27-rc9/arch/x86/kernel/signal_64.c =================================================================== --- linux-bkpt-lkml-27-rc9.orig/arch/x86/kernel/signal_64.c +++ linux-bkpt-lkml-27-rc9/arch/x86/kernel/signal_64.c @@ -496,14 +496,6 @@ static void do_signal(struct pt_regs *re signr = get_signal_to_deliver(&info, &ka, regs, NULL); if (signr > 0) { - /* Re-enable any watchpoints before delivering the - * signal to user space. The processor register will - * have been cleared if the watchpoint triggered - * inside the kernel. - */ - if (current->thread.debugreg7) - set_debugreg(current->thread.debugreg7, 7); - /* Whee! Actually deliver the signal. */ if (handle_signal(signr, &info, &ka, oldset, regs) == 0) { /*
| |