File fix-rcu-fix-data-race-due-to-atomic_t-copy-by-value-v5.6.patch of Package lttng-modules.20220

From: Michael Jeanson <mjeanson@efficios.com>
Date: Tue Feb 11 14:51:01 2020 -0500
Subject: fix: rcu: Fix data-race due to atomic_t copy-by-value (v5.6)
Git-commit: 2cdc2db77243b5091fac1f0cb4c2d5a84291fbb9

    fix: rcu: Fix data-race due to atomic_t copy-by-value (v5.6)
    
    See upstream commit :
    
      commit 6cf539a87a61a4fbc43f625267dbcbcf283872ed
      Author: Marco Elver <elver@google.com>
      Date:   Wed Oct 9 17:57:43 2019 +0200
    
        rcu: Fix data-race due to atomic_t copy-by-value
    
        This fixes a data-race where `atomic_t dynticks` is copied by value. The
        copy is performed non-atomically, resulting in a data-race if `dynticks`
        is updated concurrently.
    
    Signed-off-by: Michael Jeanson <mjeanson@efficios.com>
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>

diff --git a/instrumentation/events/lttng-module/rcu.h b/instrumentation/events/lttng-module/rcu.h
index 7813c2f..955dca7 100644
--- a/instrumentation/events/lttng-module/rcu.h
+++ b/instrumentation/events/lttng-module/rcu.h
@@ -385,7 +385,22 @@ LTTNG_TRACEPOINT_EVENT(rcu_fqs,
  * events use the upper bits of each number, while interrupt-related
  * events use the lower bits.
  */
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5,6,0) || defined (CONFIG_SUSE_KERNEL))
+LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
+
+	TP_PROTO(const char *polarity, long oldnesting, long newnesting, int dynticks),
+
+	TP_ARGS(polarity, oldnesting, newnesting, dynticks),
+
+	TP_FIELDS(
+		ctf_string(polarity, polarity)
+		ctf_integer(long, oldnesting, oldnesting)
+		ctf_integer(long, newnesting, newnesting)
+		ctf_integer(int, dynticks, dynticks)
+	)
+)
+
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4,16,0))
 LTTNG_TRACEPOINT_EVENT(rcu_dyntick,
 
 	TP_PROTO(const char *polarity, long oldnesting, long newnesting, atomic_t dynticks),
openSUSE Build Service is sponsored by