From: Mathieu Desnoyers Date: Fri, 18 Apr 2014 16:01:04 +0000 (-0400) Subject: Fix: rcu_barrier(): uninitialized futex field X-Git-Tag: v0.8.5~7 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=4fdcbc21f1039e67a80ed504d31383115e5f8052;p=userspace-rcu.git Fix: rcu_barrier(): uninitialized futex field This uninitialized futex field can lead to rcu_barrier() hang. This issue has been found with Valgrind. Fixes #787 Reported-by: Keir Fraser Signed-off-by: Mathieu Desnoyers --- diff --git a/urcu-call-rcu-impl.h b/urcu-call-rcu-impl.h index c2e175b..f0751f5 100644 --- a/urcu-call-rcu-impl.h +++ b/urcu-call-rcu-impl.h @@ -814,6 +814,7 @@ void rcu_barrier(void) count++; completion.barrier_count = count; + completion.futex = 0; cds_list_for_each_entry(crdp, &call_rcu_data_list, list) { struct call_rcu_completion_work *work;