Re: [PATCH] Fix writing to trace/trace_options

Steven Rostedt
2008-11-16T15:05:19Z

On Sun, 16 Nov 2008, Aneesh Kumar K.V wrote:

> writing to trace/trace_options use the index of the array
> to find the value of the flag. With branch tracer flag
> defined conditionally, this breaks writing to trace_options
> with branch tracer disabled.

Ug, you're right!

>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
>
> ---
> kernel/trace/trace.c | 2 --
> kernel/trace/trace.h | 2 --
> 2 files changed, 0 insertions(+), 4 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index 004aafd..ef7fe15 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -259,9 +259,7 @@ static const char *trace_options[] = {
> "sched-tree",
> "ftrace_printk",
> "ftrace_preempt",
> -#ifdef CONFIG_BRANCH_TRACER
> "branch",

Perhaps what we need is to have this NULL if CONFIG_BRANCH_TRACER is
not set, and change the other code to skip NULL pointers.

-- Steve

> -#endif
> "annotate",
> "dump",
> NULL
> diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h
> index b24d350..d048b63 100644
> --- a/kernel/trace/trace.h
> +++ b/kernel/trace/trace.h
> @@ -481,9 +481,7 @@ enum trace_iterator_flags {
> TRACE_ITER_SCHED_TREE = 0x200,
> TRACE_ITER_PRINTK = 0x400,
> TRACE_ITER_PREEMPTONLY = 0x800,
> -#ifdef CONFIG_BRANCH_TRACER
> TRACE_ITER_BRANCH = 0x1000,
> -#endif
> TRACE_ITER_ANNOTATE = 0x2000,
> TRACE_ITER_DUMP = 0x4000,
> };
> --
> tg: (e186e8e..) an/branch-tracer-fix.patch (depends on: an/ext4-ftrace-test.patch)
>
>