Re: [add to stable] ftrace: Do not function trace inlined functions

From: Greg Kroah-Hartman
Date: Tue Jan 08 2013 - 17:40:17 EST


On Tue, Jan 08, 2013 at 05:25:13PM -0500, Steven Rostedt wrote:
> On Tue, 2013-01-08 at 14:10 -0800, Greg Kroah-Hartman wrote:
> > On Tue, Jan 08, 2013 at 04:38:41PM -0500, Steven Rostedt wrote:
> > > Hi Greg and Ben,
> > >
> > > Can you add commit 45959ee7aa645815a5ce303a0ea1e48a21e67c6a to the
> > > stable trees.
> >
> > That showed up in 3.3-rc1, so I don't think it's needed in 3.2-stable.
>
> Well, it should have been marked for stable, which means it missed 3.2.

Ugh, you are right, sorry about that, too many kernels being kept track
of here has fried my "which one is newer" circuts... I was meaning "3.4
and 3.7" here.

> >
> > But why add it now? What does it "fix" for 3.4 and 3.7?
> >
>
> When gcc doesn't inline a function marked inline (with different
> compilers, it does different things), a function that shouldn't be
> traced gets traced by the function tracer. The result is a kernel crash,
> which usually ends up being a triple fault (automatic reboot, hard to
> debug).
>
> That's because some low level function like local_irqs_disable() gets
> traced, which is used in the function tracer recursion protection. Which
> means, that it's outside the recursion protection and when you enable
> function tracing, it causes the system to reboot.
>
> Thomas just hit this on 3.2-rt, and was asking me why it wasn't marked
> for stable. I just didn't think of it at the time.

Ok, fair enough, I'll queue it up for 3.0

greg k-h
--
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/