Re: [PATCH 2/2] hw-breakpoint: Keep track of dr7 local enable bits

From: Frederic Weisbecker
Date: Fri Feb 19 2010 - 12:42:10 EST


On Fri, Feb 19, 2010 at 02:28:31PM +0530, K.Prasad wrote:
> On Thu, Feb 18, 2010 at 07:00:01PM +0100, Frederic Weisbecker wrote:
>
> > diff --git a/arch/x86/kernel/ptrace.c b/arch/x86/kernel/ptrace.c
> > index 017d937..0c1033d 100644
> > --- a/arch/x86/kernel/ptrace.c
> > +++ b/arch/x86/kernel/ptrace.c
> > @@ -702,7 +702,7 @@ static unsigned long ptrace_get_debugreg(struct task_struct *tsk, int n)
> > } else if (n == 6) {
> > val = thread->debugreg6;
> > } else if (n == 7) {
> > - val = ptrace_get_dr7(thread->ptrace_bps);
> > + val = thread->ptrace_dr7;
>
> Some more comments that I missed out in the previous mail...
>
> Shouldn't ptrace_get_dr7() function be entirely removed now, given that
> its only caller no longer invokes it?
>
> > }
> > return val;
> > }
> > @@ -778,8 +778,11 @@ int ptrace_set_debugreg(struct task_struct *tsk, int n, unsigned long val)
> > return rc;
> > }
> > /* All that's left is DR7 */
> > - if (n == 7)
> > + if (n == 7) {
> > rc = ptrace_write_dr7(tsk, val);
>
> And ptrace_write_dr7() should be made to populate thread->ptrace_dr7 if
> it is going to return a success.
>
> > + if (!rc)
> > + thread->ptrace_dr7 = val;
> > + }
> >
> > ret_path:
> > return rc;
> > --
> > 1.6.2.3
> >
>
> Thanks,
> K.Prasad
>


This is urgent so I'm pushing the two patches right away as they fix the
regression and are not intrusive.

Let's further improve that later, for a merge window, ok?

Thanks.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/