lkml.org 
[lkml]   [2009]   [Apr]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: [tip:tracing/syscalls] tracing/core: fix early free of cpumasks
This never made it into 2.6.29, nor do I see it yet in mainline.

This can cause unpredictable results with ftrace. We are freeing a cpu mask
that will be later used.

This is definitely stable material.

Thanks to Johannes Berg for patiently bisecting his branch with a merge of my
branch to locate the patch that was missing from mainline.

He was seeing empty traces, but in reality, the changing of these masks might
have more dire consequences.

-- Steve

On Mon, Mar 16, 2009 at 08:19:33AM +0000, Frederic Weisbecker wrote:
> Commit-ID: 2fc1dfbe17e7705c55b7a99da995fa565e26f151
> Gitweb: http://git.kernel.org/tip/2fc1dfbe17e7705c55b7a99da995fa565e26f151
> Author: Frederic Weisbecker <fweisbec@gmail.com>
> AuthorDate: Mon, 16 Mar 2009 01:45:03 +0100
> Commit: Ingo Molnar <mingo@elte.hu>
> CommitDate: Mon, 16 Mar 2009 09:13:18 +0100
>
> tracing/core: fix early free of cpumasks
>
> Impact: fix crashes when tracing cpumasks
>
> While ring-buffer allocation, the cpumasks are allocated too,
> including the tracing cpumask and the per-cpu file mask handler.
> But these cpumasks are freed accidentally just after.
> Fix it.
>
> Reported-by: Ingo Molnar <mingo@elte.hu>
> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
> LKML-Reference: <1237164303-11476-1-git-send-email-fweisbec@gmail.com>
> Signed-off-by: Ingo Molnar <mingo@elte.hu>
>
>
> ---
> kernel/trace/trace.c | 3 ++-
> 1 files changed, 2 insertions(+), 1 deletions(-)
>
> diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
> index c0cf946..ae32d3b 100644
> --- a/kernel/trace/trace.c
> +++ b/kernel/trace/trace.c
> @@ -4125,7 +4125,8 @@ __init static int tracer_alloc_buffers(void)
> &trace_panic_notifier);
>
> register_die_notifier(&trace_die_notifier);
> - ret = 0;
> +
> + return 0;
>
> out_free_cpumask:
> free_cpumask_var(tracing_reader_cpumask);
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/


\
 
 \ /
  Last update: 2009-04-02 03:19    [W:0.066 / U:0.368 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site