Re: [PATCH 0/3][RFC] ftrace: track dynamic ftrace update failures

From: Steven Rostedt
Date: Mon Jun 02 2008 - 13:56:22 EST



On Sun, 1 Jun 2008, Abhishek Sagar wrote:

>
> Hi Steven/Ingo,
>
> In dynamic ftrace any record which fails gets freed to be recycled. This
> happens normally during (although not limited to) tracing of init functions.
> In general, failures can happen due to multiple reason, such as external
> patching of kernel functions, instrumentation of the mcount calls-sites,
> hardware error etc. As an example, in the case of kprobes if a probe is
> installed on the mcount call site (before being converted to NOP or after) then
> eventually ftrace will detect it and free the corresponding record. Kprobes
> however will keep on single-sepping the instruction it installed the probe on.
>
> These patches prevent freeing of records which have failed (except for init
> functions). This prevents re-recording of failed functions and allows tracking
> them so that they can be listed using a new debugfs file -> 'failures'. The
> main change here is preventing removal of ftrace records from ftace_hash. This
> way records can be looked up by their 'ip' at any time.
>

Hi Abhishek,

Have you also taken into account adding and removing of modules? This can
cause some funny behaviours with ftrace that can be rather dangerous.

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