Re: [PATCH v2] ftrace/x86: Load ftrace_ops in parameter not thevariable holding it

From: Steven Rostedt
Date: Wed Nov 13 2013 - 16:17:32 EST


On Wed, 13 Nov 2013 13:06:33 -0800
"H. Peter Anvin" <hpa@xxxxxxxxxxxxxxx> wrote:

> On 11/13/2013 12:20 PM, Steven Rostedt wrote:
> >
> > Function tracing callbacks expect to have the ftrace_ops that registered it
> > passed to them, not the address of the variable that holds the ftrace_ops
> > that registered it.
> >
> > Use a mov instead of a lea to store the ftrace_ops into the parameter
> > of the function tracing callback.
> >
> > Signed-off-by: Steven Rostedt <rostedt@xxxxxxxxxxx>
>
> This looks like an urgent fix, am I correct?
>

It should go into 3.13 at least. I have code that will depend on this
fix, and it would be nice if it makes it into 3.13.

It's been shear luck that this hasn't caused any issues so far. That's
because the current callbacks that use its ftrace_ops don't get called
directly by assembly. If they did, they would crash due to this bug.

We should probably tag it for stable too. The bug goes back to 3.8.

Fixes: 2f5f6ad9390c1 ("ftrace: Pass ftrace_ops as third parameter to
function trace callback")

Thanks,

-- Steve
--
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/