[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <b8c59498-8ee2-0049-e215-93ed082aef0f@kernel.org>
Date: Mon, 10 Jan 2022 08:37:52 +0100
From: Daniel Bristot de Oliveira <bristot@...nel.org>
To: Nikita Yushchenko <nikita.yushchenko@...tuozzo.com>,
Steven Rostedt <rostedt@...dmis.org>,
Ingo Molnar <mingo@...hat.com>
Cc: linux-kernel@...r.kernel.org, kernel@...nvz.org
Subject: Re: [PATCH v2] tracing/osnoise: Properly unhook events if
start_per_cpu_kthreads() fails
On 1/9/22 16:34, Nikita Yushchenko wrote:
> If start_per_cpu_kthreads() called from osnoise_workload_start() returns
> error, event hooks are left in broken state: unhook_irq_events() called
> but unhook_thread_events() and unhook_softirq_events() not called, and
> trace_osnoise_callback_enabled flag not cleared.
>
> On the next tracer enable, hooks get not installed due to
> trace_osnoise_callback_enabled flag.
>
> And on the further tracer disable an attempt to remove non-installed
> hooks happened, hitting a WARN_ON_ONCE() in tracepoint_remove_func().
>
> Fix the error path by adding the missing part of cleanup.
> While at this, introduce osnoise_unhook_events() to avoid code
> duplication between this error path and normal tracer disable.
>
> Fixes: bce29ac9ce0b ("trace: Add osnoise tracer")
> Signed-off-by: Nikita Yushchenko <nikita.yushchenko@...tuozzo.com>
Acked-by: Daniel Bristot de Oliveira <bristot@...nel.org>
Thanks Nikita!
-- Daniel
Powered by blists - more mailing lists