From: Luis Henriques <luis.henriques@canonical.com>
To: Jiri Slaby <jslaby@suse.cz>
Cc: stable@vger.kernel.org,
"Steven Rostedt (Red Hat)" <rostedt@goodmis.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [patch added to 3.12-stable] tracing: Fix check for cpu online when event is disabled
Date: Mon, 14 Mar 2016 17:19:08 +0000 [thread overview]
Message-ID: <20160314171908.GB13407@charon.olymp> (raw)
In-Reply-To: <1457961419-30172-3-git-send-email-jslaby@suse.cz>
On Mon, Mar 14, 2016 at 02:16:44PM +0100, Jiri Slaby wrote:
> From: "Steven Rostedt (Red Hat)" <rostedt@goodmis.org>
>
> This patch has been added to the 3.12 stable tree. If you have any
> objections, please let us know.
>
Please note that this patch was tagged for stable 3.18+.
Cheers,
--
Lu�s
> ===============
>
> commit dc17147de328a74bbdee67c1bf37d2f1992de756 upstream.
>
> Commit f37755490fe9b ("tracepoints: Do not trace when cpu is offline") added
> a check to make sure that tracepoints only get called when the cpu is
> online, as it uses rcu_read_lock_sched() for protection.
>
> Commit 3a630178fd5f3 ("tracing: generate RCU warnings even when tracepoints
> are disabled") added lockdep checks (including rcu checks) for events that
> are not enabled to catch possible RCU issues that would only be triggered if
> a trace event was enabled. Commit f37755490fe9b only stopped the warnings
> when the trace event was enabled but did not prevent warnings if the trace
> event was called when disabled.
>
> To fix this, the cpu online check is moved to where the condition is added
> to the trace event. This will place the cpu online check in all places that
> it may be used now and in the future.
>
> Fixes: f37755490fe9b ("tracepoints: Do not trace when cpu is offline")
> Fixes: 3a630178fd5f3 ("tracing: generate RCU warnings even when tracepoints are disabled")
> Reported-by: Sudeep Holla <sudeep.holla@arm.com>
> Tested-by: Sudeep Holla <sudeep.holla@arm.com>
> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
> include/linux/tracepoint.h | 17 +++++++++--------
> 1 file changed, 9 insertions(+), 8 deletions(-)
>
> diff --git a/include/linux/tracepoint.h b/include/linux/tracepoint.h
> index c1248996006f..9ff9ca22cfb7 100644
> --- a/include/linux/tracepoint.h
> +++ b/include/linux/tracepoint.h
> @@ -129,9 +129,6 @@ static inline void tracepoint_synchronize_unregister(void)
> void *it_func; \
> void *__data; \
> \
> - if (!cpu_online(raw_smp_processor_id())) \
> - return; \
> - \
> if (!(cond)) \
> return; \
> prercu; \
> @@ -265,15 +262,19 @@ static inline void tracepoint_synchronize_unregister(void)
> * "void *__data, proto" as the callback prototype.
> */
> #define DECLARE_TRACE_NOARGS(name) \
> - __DECLARE_TRACE(name, void, , 1, void *__data, __data)
> + __DECLARE_TRACE(name, void, , \
> + cpu_online(raw_smp_processor_id()), \
> + void *__data, __data)
>
> #define DECLARE_TRACE(name, proto, args) \
> - __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), 1, \
> - PARAMS(void *__data, proto), \
> - PARAMS(__data, args))
> + __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> + cpu_online(raw_smp_processor_id()), \
> + PARAMS(void *__data, proto), \
> + PARAMS(__data, args))
>
> #define DECLARE_TRACE_CONDITION(name, proto, args, cond) \
> - __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), PARAMS(cond), \
> + __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
> + cpu_online(raw_smp_processor_id()) && (PARAMS(cond)), \
> PARAMS(void *__data, proto), \
> PARAMS(__data, args))
>
> --
> 2.7.3
>
> --
> To unsubscribe from this list: send the line "unsubscribe stable" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2016-03-14 17:19 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-03-14 13:16 [patch added to 3.12-stable] Revert "drm/radeon: hold reference to fences in radeon_sa_bo_new" Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] KVM: VMX: disable PEBS before a guest entry Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] tracing: Fix check for cpu online when event is disabled Jiri Slaby
2016-03-14 17:19 ` Luis Henriques [this message]
2016-03-14 17:25 ` Greg Kroah-Hartman
2016-03-14 17:28 ` Steven Rostedt
2016-03-14 13:16 ` [patch added to 3.12-stable] ASoC: wm8994: Fix enum ctl accesses in a wrong type Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] ASoC: wm8958: " Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] wext: fix message delay/ordering Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] iwlwifi: mvm: inc pending frames counter also when txing non-sta Jiri Slaby
2016-03-14 16:39 ` Luis Henriques
2016-03-14 22:10 ` Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] mac80211: minstrel_ht: set default tx aggregation timeout to 0 Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] powerpc: Fix dedotify for binutils >= 2.26 Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] KVM: x86: move steal time initialization to vcpu entry time Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] lib/ucs2_string: Add ucs2 -> utf8 helper functions Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] efi: Use ucs2_as_utf8 in efivarfs instead of open coding a bad version Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] efi: Do variable name validation tests in utf8 Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] efi: Make our variable validation list include the guid Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] efi: Make efivarfs entries immutable by default Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] efi: Add pstore variables to the deletion whitelist Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] lib/ucs2_string: Correct ucs2 -> utf8 conversion Jiri Slaby
2016-03-14 13:16 ` [patch added to 3.12-stable] modules: fix longstanding /proc/kallsyms vs module insertion race Jiri Slaby
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160314171908.GB13407@charon.olymp \
--to=luis.henriques@canonical.com \
--cc=gregkh@linuxfoundation.org \
--cc=jslaby@suse.cz \
--cc=rostedt@goodmis.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.