From fbc55dd1caeba6fdce2b781537b785eaf58279ed Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Fri, 18 Apr 2014 12:01:04 -0400 Subject: [PATCH] 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 --- urcu-call-rcu-impl.h | 1 + 1 file changed, 1 insertion(+) 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; -- 2.34.1