lkml.org 
[lkml]   [2015]   [Oct]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [RFC][PATCH] tracing: Have stack tracer force RCU to be watching
On Tue, 20 Oct 2015 13:25:28 -0700
"Paul E. McKenney" <paulmck@linux.vnet.ibm.com> wrote:

> On Tue, Oct 20, 2015 at 12:10:31PM -0400, Steven Rostedt wrote:
> >
> > Paul,
> >
> > I've spent a couple of days debugging this, and finally found that my
> > stack tracer was calling the stack trace code, which calls
> > __module_address() which asserts the below.
> >
> > Is just calling rcu_irq_enter() and rcu_irq_exit() safe to do
> > everywhere (with interrupts always disabled)? This patch appears to fix
> > the bug.
>
> Yep! Just don't call it from an NMI handler. And don't call it with
> interrupts enabled. The patch looks to have interrupts always disabled,
> and the surrounding code doesn't look like NMI-safe code anyway, so
> should be OK.
>
> Thanx, Paul
>

Hmm, good point about NMI handler. Right now I think the only thing
protecting this from getting in the critical section while in NMI is
the check that we are using the task struct stack. But that may not be
enough in 32 bit.

I should probably add a "if (in_nmi()) return" somewhere.

-- Steve


\
 
 \ /
  Last update: 2015-10-20 23:41    [W:0.040 / U:0.164 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site