Re: [PATCH 00/18] tracing/kprobes: Update kprobes with new ftrace changes

Steven Rostedt
2013-05-12T02:11:32Z

On Sat, 2013-05-11 at 18:16 -0700, Linus Torvalds wrote:
> On Fri, May 10, 2013 at 5:12 PM, Steven Rostedt <rostedt@goodmis.org> wrote:
> >
> > Linus,
> >
> > The majority of these changes are from Masami Hiramatsu bringing
> > kprobes up to par with the latest changes to ftrace (multi buffering
> > and the new function probes).
>
> So I pulled this just before doing -rc1, and I'm a bit worried about
> "make allmodconfig" resulting in these new warnings:
>
> WARNING: "ring_buffer_event_data" [*/*/*.ko] has no CRC!

I have no idea what that means. I found that line gets printed by
scripts/mod/modpost.c, but why it would print that for this is beyond
me. Note, the changes you pulled had nothing directly to do with that
function.

Here's the function in question:

void *ring_buffer_event_data(struct ring_buffer_event *event)
{
return rb_event_data(event);
}
EXPORT_SYMBOL_GPL(ring_buffer_event_data);

>
> but the kernel I actually install and boot doesn't show that, so I
> don't know if this then actually causes problems. And since I wasn't
> going to do a kernel release tomorrow, I shipped -rc1 as-is.

Yeah, I built, booted and tested an allmodconfig (as one of the ktests I
run), before sending you a pull request, so I didn't think it would be
an issue.

Although, I have to admit, I didn't look for new warnings on
allmodconfig. I do that check on other tests. I guess I should add a new
warning check for that test too. Although, as this is a warning from a
post compile program and not a gcc warning, my test will probably not
catch it.

>
> Please do check it out and send me a fix, though.

I'm running an allmodconfig test now.

I see that function called near some of the changes in trace_kprobes.c:

if (!event)
return;

entry = ring_buffer_event_data(event);
- entry->ip = (unsigned long)kp->addr;
+ entry->ip = (unsigned long)tp->rp.kp.addr;
store_trace_args(sizeof(*entry), tp, regs, (u8 *)&entry[1], dsize);

That's the only place I see it referenced in that last pull request. Not
sure why that would cause any issue.

I'll take a look when my allmodconfig test finishes.

-- Steve